tcpdump
を中断しました Ctrlを使用 + C そして、この全体の要約を取得しました:
579204 packets captured
579346 packets received by filter
142 packets dropped by kernel
「カーネルによってドロップされたパケット」とは何ですか?なぜそれが起こるのですか?
承認された回答:
tcpdumpのマニュアルから:
「カーネルによってドロップされた」パケット(これは、OSがその情報をアプリケーションに報告する場合、tcpdumpが実行されているOSのパケットキャプチャメカニズムによって、バッファスペースの不足のためにドロップされたパケットの数です。そうでない場合。 、0として報告されます。
ちょっとした説明:
tcpdump
ネットワークインターフェイスを通過する生のパケットをキャプチャします。
パケットは、コマンドラインで指定したルールに従って解析およびフィルタリングする必要があります。これには時間がかかるため、着信パケットは処理のためにバッファリング(キューイング)する必要があります。 。
パケットが多すぎる場合、それらはバッファに保存されますが、処理されるよりも速く保存されるため、最終的にバッファのスペースが不足するため、カーネルは、空きスペースができるまで、それ以降のすべてのパケットをドロップします。バッファ。
-B
を使用してバッファサイズを増やすことができます (--buffer-size
)このようなオプション:
tcpdump -B 4096 ....
サイズはキロバイトで指定されているため、上の行でバッファサイズが4MBに設定されていることに注意してください。