ホスト名とプロトコルではなく、IPとポート番号を表示するtcpdumpの作成方法


42

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を表示する方法は可能ですか?ありがとう

回答:


44

コマンドラインに追加-nしますtcpdump

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.

ポート番号はまだ使用してプロトコル名に変換されます-n
misteryes

「ポート番号は、まだ-nを使用してプロトコル名に変換されます」。たとえば、OS X Mountain Lionに付属のtcpdump 4.1.1や、tcpdump.org Gitトランクの最上部から構築されたtcpdumpでは使用できません。tcpdumpのどのバージョンで、-n がポート番号からプロトコル名への変換を抑制しないのですか?

5

-nnパラメーターを使用します。

-nn:ホスト名またはポート名を解決しないでください。

次のように実行します。

tcpdump -nn 

2

-nホスト名に対してのみ機能しますが、ポート番号に対しては機能しません。-nn両方のトリックを行います。これは、Fedora 20 gnu / linuxでtcpdumpバージョン4.5.1を実行しています。@ATMcのダウン投票された答えが唯一の正しいです。悲しいことに、カルマが低いため、それを支持したり、その下にコメントを書いたりすることはできません。


1

最善のアプローチは次のとおりです。

sudo tcpdump -ni any

テストする手順:

  1. コンソールを開き、次を入力します。

    sudo nc -l -p 6666
    
  2. 別のコンソールを開き、次を入力します。

    sudo tcpdump -ni any
    

    出力が冗長すぎる場合は、フィルターで除外できます(| grep -v "patter1n|pattern2"

  3. 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

1
それは他の答えと同じです- -i anyアドレス/ポートから名前への変換を抑制したい場合は必要ありません、それだけ-nが重要です。

-2
tcpdump -i eth0 -p -nn | grep "IP" | awk '{print$3 ,$4 ,$5}' | sed 's/://'

1
わかり

1
質問は「ホスト名とプロトコルではなく、IPとポート番号を表示」と書かれていますが、「IPとポート番号を表示しますが、その他の情報は表示しない」ことを疑います。(私は間違っているかもしれませんが、他の誰もあなたがした方法で質問を解釈していないようです。)だからあなたの答えは2つの部分に-nn要約されているようです:(1)  (以前の3つの回答で提示された)名前の代わりに番号を使用awkし、(2)パケットコンテンツのデータを破棄するために使用  します(これは望ましくない可能性があります)。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.