パケットが到着すると、NICは割り込みを生成し、カーネルが引き継ぎます。特定のTCPフローのパケットが到着する時間を測定したい。
Linuxでこれを行うにはどうすればよいですか?これは、tcpdumpのようなツールが行うことです。
承認された回答:
tcpdump
すべてのパケットにタイムスタンプを付けます。したがって、tcpdumpを使用できるはずです。それ以外の場合は、ネットワークトラフィックも監視するwiresharkを試すことができますが、優れた強力なGUIを備えています。このプロセスをスクリプト化する必要がない場合は、Wiresharkがこの状況での友達だと思います。
Wiresharkの使用方法の詳細については、http://www.howtogeek.com/104278/how-to-use-wireshark-to-capture-filter-and-inspect-packets/をご覧ください。
>
これを自分で測定する方法にもっと興味がある場合は、tcpdump
を調べることができます。 strace
を使用 または、提案されているように、ソースを読んでください。 strace
独自のアプリケーションで使用できるシステムコールのリストが表示されます。ただし、最も簡単な解決策は、tcpdump
を実行することです。 、次にawk
を使用して出力をフィルタリングします または、タイムスタンプ列を除外できるその他のツール。
また、tcpdump
の使用方法に関する詳細情報もあります。 http://danielmiessler.com/study/tcpdump/