tcpdumpを使う
パケットモニタの定番「tcpdump」を使ってみた。
tcpdumpの使い方
コマンド
# tcpdump 条件式
# tcpdump -n -vvv udp -n アドレスやポート番号がそのまま表示されます -vvv 詳細出力
例2)tcpプロトコルをキャプチャ
tcpプロトコルをファイルに出力。
出力したファイルを表示。
# tcpdump -n -vvv tcp -w packet.txt # tcpdump -r packet.txt -w ファイル出力 -r 読み込むファイル
その他にもいろんなオプションがあるようです。
rubyでudp送信
ホストBから、tcpdumpを実行しているホストAへudp通信をしてみます。
irbを起動して、以下のようなテストを実行してみました。
ホストA
tcpdumpを実行。
# tcpdump -n -vvv udp
ホストB
irbを起動して以下を実行。
require "socket" s = UDPSocket.new addr = Socket.sockaddr_in("echo", "tcpdumpを実行しているホストのIPアドレス") s.sent("test", 0, addr)
ホストA
17:26:35.878940 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto UDP (17), length 32) <ホストBのIP> > <ホストAのIP>: [udp sum ok] UDP, length 4
無事にホストAでudpが確認できました。