私はこれを試しました:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'
アスキー部分だけが必要です。残りを削除するにはどうすればよいですか?
私はこれを試しました:
tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'
アスキー部分だけが必要です。残りを削除するにはどうすればよいですか?
回答:
Joshが示唆するように、tcpflowはTCPパケットデータのみをファイルまたはSTDOUTに出力できます。次のようにtcpdumpをtcpflowにパイプできます。
tcpdump -i lo -l -w - port 23 | tcpflow -C -r -
会話の片側のみを表示するには、tcpdumpのフィルターを使用できます(例:)dst port 23
。
tcpflow
ルートとして起動する必要があるのですか?
これをすばやく簡単に行うには、文字列で出力をフィルタリングします。
tcpdump -nli eth0 '(port 6667) and (length > 74)' -s 0 -w - | strings
他のツールがない場合や、ペイロードをすばやく確認するにはこれで十分です。もちろん、注入や正確な分析のために正確なペイロードが必要な場合、それは良くありません。
ASCII部分のみが必要な場合は、次を使用できます:tcpdump -s 1500 -A -l -i eth0 '(port 6667) and (length > 74)'|sed 's/\.//g'
またはngrepとともに:ngrep -d eth0 -lq . '(port 6667) and (length > 74)' |sed -rn '/^ /s/\.//gp'