私のサーバーは、トークンを使用していくつかのAPIに対してcurlコマンドを実行します。例えば:
curl --header "Private-Token: aaaaaaaaaaaaaa" http://mysite.example.com/api/v4/any
tcpdump
を使用して、このAPIへのすべてのリクエストを特定のトークンでキャプチャできますか?もしそうなら、どのように?他のアイデアも素晴らしいでしょう。
tcpdump
を使用してHTTPトラフィックをリッスンし、実際のパケットの内容を確認するには、次のようにします。
Sudo tcpdump -X -s 1500 "port 80 and Host mysite.example.com"
ただし、データのフィルタリングはtcpdump
の特定のパケット位置でのみ実行でき、この場合は実行できません。
したがって、さらに、ngrep
を使用して、ネットワークインターフェイス上の特定の文字列データでlinesをリッスンすることもできます。
Sudo ngrep -q "Private-Token: aaaaaaaaaaaaaa" "port 80 and Host mysite.example.com"
実際のホスト/ポートフィルターについては、tcpdump
/BPFフィルターに関する次の(短い)要約を参照してください。 TCPDUMP式
また、wireshark
@StephenHarrisの推奨事項は、グラフィカルインターフェイスを使用するのに非常に適しています。後でtcpdump
で使用するためにファイルに生データを書き込むwireshark
を行うには、次のようにします。
Sudo tcpdump -X -s 1500 "port 80 and Host mysite.example.com" -w mycapture.pcap
sysdig
を使用して、アプリケーションレベルでパケットリクエストをキャプチャすることもできます。 (テストなしの答えについてはよくわかりません)
Sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains "Private-Token: aaaaaaaaaaaaaa"