MCPcopy Index your code
hub / github.com/DeNA/PacketProxy

github.com/DeNA/PacketProxy @2.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.3.0 ↗ · + Follow
5,925 symbols 18,841 edges 635 files 805 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PacketProxy

CircleCI

PacketProxyとは?

PacketProxyは、HTTP1/HTTP2/HTTPS通信だけでなく、より低レイヤーのTCP/UDPを利用したバイナリ通信にも対応した、オープンソースのローカルプロキシツールです。

個人や社内の内部アプリケーションの開発補助や脆弱性診断での利用を目的にしています。

スクリーンショット

ScreenShot

特徴

  • ローカルプロキシツールとしての主要な機能が備わっています
  • 到着パケットの履歴の表示・フィルタ
  • パケットデータの表示・検索・変換・Diff
  • インターセプト
  • 加工して再送
  • HTTP/HTTPS通信だけでなく、より低レイヤーのTCP/UDP通信にも対応しています
  • メジャーなプロトコル(HTTP、HTTP2、HTTPS、WebSocket、FireBase、Firestore、MQTT、gRPC、Protocol Buffers、XMPP on TLS、MessagePack、CBOR、AmazonLexV2)はビルトイン済み(増やす予定あり)
  • 新しいプロトコル(例:特定ゲームの独自通信プロトコル等)への拡張が簡単
  • 脆弱性診断で利用できる便利な機能を用意しています
  • パケットを連続して同時に送信する機能(同時複数送信)
  • 内容の異なるパケットを同時に送信する機能(バルク送信)
  • 自己署名証明書によるHTTPS通信をMITMできてしまうかチェックする機能
  • DNSサーバが内蔵されており、DNS書き換えによるパケットのフォワード機能
  • SQLiteで現在のプロジェクトの保存・読込する機能
  • Windows、macOS、Linuxに対応

インストール

ダウンロードページより、各OS用のイメージをダウンロードしてインストールしてください。

あるいは、

MacOSでHomebrewを利用しているなら $ brew install packetproxy コマンドで簡単にインストールすることもできます。 (有志の方、caskへの登録ありがとうございました!)

使ってみる

利用者のページをみてください。

開発する

新しいプロトコル(例:特定ゲームの独自通信プロトコル等)への拡張を開発したい場合や、PacketProxyの本体を開発したい場合は 開発者のページ をみてください。

ライセンス

Apache License 2.0

Extension points exported contracts — how you extend this code

Handshake (Interface)
(no doc) [8 implementers]
src/main/java/core/packetproxy/quic/service/handshake/Handshake.java
Endpoint (Interface)
(no doc) [11 implementers]
src/main/java/core/packetproxy/common/Endpoint.java
WriteStream (Interface)
(no doc) [6 implementers]
src/main/java/core/packetproxy/http3/service/stream/WriteStream.java
ReadStream (Interface)
(no doc) [6 implementers]
src/main/java/core/packetproxy/http3/service/stream/ReadStream.java
Frame (Interface)
(no doc) [8 implementers]
src/main/java/core/packetproxy/http3/value/frame/Frame.java

Core symbols most depended-on inside this repo

add
called by 619
src/main/java/core/packetproxy/gui/GUIBulkSender.java
get
called by 481
src/main/java/core/packetproxy/common/I18nString.java
append
called by 444
src/main/java/core/org/xbill/DNS/Name.java
getBytes
called by 417
src/main/java/core/packetproxy/http3/value/frame/Frame.java
errWithStackTrace
called by 374
src/main/java/core/packetproxy/util/Logging.java
write
called by 335
src/main/java/core/packetproxy/http3/service/stream/ReadStream.java
add
called by 306
src/main/java/core/org/xbill/DNS/Update.java
put
called by 197
src/main/java/core/packetproxy/common/UDPConn.java

Shape

Method 5,135
Class 732
Enum 36
Interface 22

Languages

Java100%

Modules by API surface

src/main/java/core/org/xbill/DNS/SVCBBase.java86 symbols
src/test/java/org/xbill/DNS/SVCBRecordTest.java72 symbols
src/main/java/core/org/xbill/DNS/DNSSEC.java64 symbols
src/main/java/core/packetproxy/Duplex.java60 symbols
src/main/java/core/packetproxy/http/Http.java54 symbols
src/main/java/core/packetproxy/gui/GUIHistory.java53 symbols
src/main/java/core/org/xbill/DNS/Cache.java52 symbols
src/main/java/core/packetproxy/gui/JFontChooser.java46 symbols
src/main/java/core/packetproxy/model/Packet.java44 symbols
src/main/java/core/org/xbill/DNS/ZoneTransferIn.java40 symbols
src/main/java/core/org/xbill/DNS/Tokenizer.java38 symbols
src/main/java/core/org/xbill/DNS/Record.java38 symbols

For agents

$ claude mcp add PacketProxy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact