IPとポート番号を確認したいテストにtcpdumpを使用していますが、tcpdumpの出力は次のようになります。
IP pl1snu.koren.kr.http > kitch.pl.sophia.inria.fr.dnp: Flags [P.], seq 54:72, ack 1, win 5792, length 18
httpのホスト名とプロトコルだけが表示されます。80であることは簡単にわかりますが、dnpでは検索する必要があります。
iPアドレスとポート番号を表示するが、ホスト名とプロトコルを表示しないようにするにはどうすればよいですか。ありがとう
tcpdump
コマンドラインに-n
を追加します。
tcpdumpのマンページ から。
-n Don't convert addresses (i.e., Host addresses, port numbers, etc.) to names.
また、Fedora(そしておそらく他の派生物:RHEL、CentOSなど)では、別のものを含めるためにオリジナルのtcpdumpバージョンに パッチが適用されています 。ポート番号を削除するためのオプション-nn
。 のマンページ から:
-n Don't convert Host addresses to names. This can be used to
avoid DNS lookups.
-nn Don't convert protocol and port numbers etc. to names either.
-nn
パラメータを使います。
-nn
:ホスト名やポート名を解決しないでください。
以下のように実行してください。
tcpdump -nn
-n
はホスト名に対してのみ機能しますが、ポート番号に対しては機能しません。 -nn
は両方のためのトリックをします。これはFedora 20 gnu/linux上でtcpdumpバージョン4.5.1を実行しています。 @ ATMcの下落した回答が唯一の正解です。低いカルマのため、残念ながらそれを支持することも下にコメントを書くこともできません。
私は最善のアプローチがだと思います:
Sudo tcpdump -ni any
テストする手順
コンソールを開き、次のように入力します。
Sudo nc -l -p 6666
別のコンソールを開き、次のように入力します。
Sudo tcpdump -ni any
出力が冗長すぎる場合は、それを除外することができます(| grep -v "patter1n|pattern2"
)
3番目のコンソールを開き、次のように入力します。
telnet localhost 6666
期待される出力:
10:37:13.770997 IP 127.0.0.1.56920 > 127.0.0.1.443: Flags [S], seq 2822288041, win 43690, options [mss 65495,sackOK,TS val 1028779 ecr 0,nop,wscale 7], length 0
あなたがSudo tcpdump -i any
を使うならば、あなたはこのような何かを見るでしょう:
10:38:22.106022 IP localhost.56924 > localhost.https: Flags [S], seq 3147104744, win 43690, options [mss 65495,sackOK,TS val 1045863 ecr 0,nop,wscale 7], length 0