2017-02-02 39 views
1

私はtcpdumpファイルを持っていて、送信された行数/パケット数を出力したいと思います。tcpdumpの出力を1行で

私はtcpdump -rコマンドを使用していますが、同じプロトコルのものであっても、いくつかの出力が2行(以下の図を参照)で伸びているようです。

私の質問は、新しい行には表示されず、行全体が印刷されるようにするにはどうすればよいですか?

私はWireshark GUIを使ってテストしましたが、3188行が必要ですが、Linuxのコマンドラインを使ってこれを行いたいと思います。

enter image description here

答えて

0

あなたが-Sパラメータであまり使って、行の折り返しを回避することができ、テキストファイル内のtcpdump出力の内容を持っている場合。

以下マニュアルより:ラップされたのではなく、画面幅みじん切りする(切り捨て)より線が長い原因

-Sまたは--chop長いライン。つまり、画面の幅に収まらない長い線の部分は表示されません。長い行を折り返すデフォルトは です。つまり、次の行に余りを表示します。

パラメータを-Nと併用すると、行数も表示されます。

0

は、どのように私はそれが新しい行に表示され、あなたは、長い行をラップしたくない場合は、あなたがそれらを切り捨てる必要がありますライン

の合計をプリントアウトしないで作るのですか。これはcutコマンドを使用して行うことができます。たとえば:あなたはだけは出力の行数をカウントしたい場合

tshark -r file.pcap | cut -c -80 

は、その後、あなたはとてもwcコマンドを使用して行うことができます。

tshark -r file.pcap | wc -l 

:たとえば、あなたが長い行を切り捨てるかどうかは、行数のカウントは同じまま。長い行が折り返されているだけで、行数が増えるわけではありません。それはしません。だから、本当に長い行を切り捨てる必要がない限り、私はそれに反対するでしょう。さもなければ、正当な理由がないのに潜在的に有用な情報を切り刻むことになります。あなたが長い行を切り詰めたいならば、言っ

、あなたはまた、行の合計数をプリントアウトすることができるようにしたい場合は、これはおそらく2つのステップが必要になります:

  1. を切り捨てのリダイレクトファイルに出力し、
  2. wcを使用してファイル内の行数を数えます。

    tshark -r file.pcap | cut -c -80 > file.txt 
    wc -l file.txt (or cat file.txt | wc -l) 
    

    あなたがすぐに出力が表示さだけでなく、行数をカウントするために、ファイルに出力を書き込むことができるようにしたい場合は、あなたがこれを行うことができます。たとえば

例えばteeコマンドで:あなたはbashやkshの中で作業していると仮定すると、

tshark -r file.pcap | cut -c -80 | tee file.txt 
wc -l file.txt 
1

、tcpdumpを実行する前に、 "輸出COLUMNS = 1024" を実行します。 Tcpdumpは、ディスプレイが1024文字幅であると結論づけます。これは、各パケットを1つの出力行に表示するのに十分なはずです。私はCOLUMNS値には実際的な制限はないと思います。

関連する問題