アプリケーションによって生成されたネットワークデータのpcapをダンプする方法を探しています。同様の方法で、syscallをstrace
ダンプします。例:
net-strace somecommand -args
somecommand
ネットワークを介して何かを実行し、net-strace
そのアプリによって生成されたすべてのトラフィック(+応答および関連トラフィック)のpcapダンプを保存します。
これは達成できますか?
問題は、アプリケーションがパケット(pingのようなrawソケットを使用するものを除く)を送信せず、カーネルに代わってパケットを送信(および関連するパケットを受信)させるネットワークAPIを使用することです。
—
ステファンChazelas
はい。ただし、すべてのアプリケーションデータをプロキシ経由で実行するアプリケーション(例:proxychains-proxychains.sourceforge.net)があります。彼らはそれをどのように行うのかわからないが、彼らはそれを取り込んでプロキシを介して送信することができる。おそらく、pcapをダンプできる単純なプロキシ(ローカルで実行)がある場合は、proxychains + proxyコンボを使用してダンプを取得できます。
—
gesti 14
パケットよりも(LD_PRELOADを使用して)APIをハイジャックしている可能性があります。そうは言っても、いくつかのsetsockopt(SO_MARK)をアプリケーションに挿入し、netfilterを使用してパケットをulogに記録することができます。
—
ステファンChazelas
アプリケーションの新しいネットワーク名前空間を作成し、そこにあるすべてのトラフィックをキャプチャします。一部のユースケースでも、許容できるアプローチになる場合があります。
—
ステファンChazelas