Amazon EC2インスタンスでtcpdumpを実行して、Nginxに向かうHTTPトラフィックを監視しています(これは単なるテストボックスであり、唯一のリソースはサンプルのテストページです)。
コマンドを使用してtcpdumpを実行する
# tcpdump -vn -i any port 80
はブラウザのリクエストからサイトへのパケットを表示しますが、Pythonスクリプト(リクエストライブラリを使用)または手動で作成されたパケット(リクエストライブラリを使用)を使用してページにアクセスすると、nothingを表示しますScapy)。
質問:
ありがとうございました
「any」の代わりに特定のインターフェースを使用してみてください。その「デバイス」は、無差別モードでは使用できません。 tcpdumpのマンページを参照してください。 http://www.tcpdump.org/manpages/tcpdump.1.html
この質問が行われた後にリリースされたテクノロジーは VPC Flow Logs です。これにより、VPC内のネットワークトラフィックを自由にフィルタリングして確認できます。
VPCフローログには、完全なパケットコンテンツは表示されません。送信元、宛先、ポート、プロトコル、サイズ、時間、受け入れや拒否などのアクションなどの基本的なものだけが表示されます。また、EC2インスタンス内で開始および終了するトラフィックも表示されません。
これは問題を解決しないので、これは質問に対する直接の回答ではありません。ただし、同様の問題を解決するための情報を収集する別の方法を提供する場合があります。
おそらくsnaplength
?
- -s snaplen
- --snapshot-length = snaplen
デフォルトの262144バイトではなく、各パケットからのデータのスナップレンバイトをSnarfします。スナップショットが制限されているために切り捨てられたパケットは、出力に `` [| proto] ''で示されます。ここで、protoは、切り捨てが発生したプロトコルレベルの名前です。 スナップショットを大きくすると、パケットの処理にかかる時間が長くなり、事実上、パケットのバッファリングの量が減ります。これにより、パケットが失われる可能性があります。 snaplenを最小数に制限する必要があります。これにより、関心のあるプロトコル情報がキャプチャされます。snaplenを0に設定すると、最近の古いバージョンのtcpdumpとの下位互換性のために、デフォルトの262144に設定されます。
私は通常65535を使用します。