タグ付けされた質問 「tcpdump」

tcpdumpは、ネットワークデバイスによって送受信されたパケットをキャプチャして表示するためのCLIツールです。

6
フレンドリ形式でpcapファイルを読み取るにはどうすればよいですか?
pcapファイルの単純な猫はひどく見えます: $cat tcp_dump.pcap ?ò????YVJ? JJ ?@@.?E<??@@ ?CA??qe?U????иh? .Ceh?YVJ?? JJ ?@@.?E<??@@ CA??qe?U????еz? .ChV?YVJ$?JJ ?@@.?E<-/@@A?CAͼ?9????F???A&? .Ck??YVJgeJJ@@.?Ӣ#3E<@3{nͼ?9CA??P?ɝ?F???<K? ?ԛ`.Ck??YVJgeBB ?@@.?E4-0@@AFCAͼ?9????F?P?ʀ??? .Ck??ԛ`?YVJ?""@@.?Ӣ#3E?L@3?Iͼ?9CA??P?ʝ?F????? ?ԛ?.Ck?220-rly-da03.mx 等 私はそれをよりきれいにしようとしました: sudo tcpdump -ttttnnr tcp_dump.pcap reading from file tcp_dump.pcap, link-type EN10MB (Ethernet) 2009-07-09 20:57:40.819734 IP 67.23.28.65.49237 > 216.239.113.101.25: S 2535121895:2535121895(0) win 5840 <mss 1460,sackOK,timestamp 776168808 0,nop,wscale 5> 2009-07-09 20:57:43.819905 IP 67.23.28.65.49237 …
139 log-files  tcpdump  pcap 

3
tcpdumpを使用したhttpヘッダーの可読形式
LinuxマシンでApache(ポート80でリスニング)からTomcat(ポート4080で)に送信されたHTTPヘッダーを表示したいと思います。 ウィキペディアによると、 ヘッダーフィールドは、クリアテキスト文字列形式のコロンで区切られた名前と値のペアです。 次のtcpdumpコマンドのバリエーションをいくつか試しました。 $ sudo tcpdump -lnX dst port 4080 -c 10 11:29:28.605894 IP SOME_IP.33273 > SOME_IP.4080: P 0:49(49) ack 1 win 23 <nop,nop,timestamp 1191760962 509391143> 0x0000: 4500 0065 3a9f 4000 3f06 0084 628a 9ec4 E..e:.@.?...b... 0x0010: 628a 9c97 81f9 0ff0 9e87 eee0 144b 90e1 b............K.. 0x0020: 8018 0017 …


5
pcapファイルを小さなセットに分割する方法
巨大なpcapファイル(tcpdumpで生成)があります。Wiresharkで開こうとすると、プログラムが応答しなくなります。ファイルを小さなファイルのセットに分割して、それらを1つずつ開く方法はありますか?ファイルにキャプチャされたトラフィックは、2つのサーバー上の2つのプログラムによって生成されるため、tcpdumpの「ホスト」または「ポート」フィルターを使用してファイルを分割することはできません。Linuxの 'split'コマンドも試してみました:-)が、運がありません。Wiresharkはこの形式を認識しません。
47 tcpdump  pcap 

6
tcpdumpを使用したHTTPトラフィックの監視
サーバーとWebサーバーの間のHTTPトラフィックを監視するために、現在使用していtcpdumpます。これは、罰金に動作しますが、私は(私が知っている出力にいくつかの余分なデータを取り除くしたいtcpflowとwireshark、彼らは私の環境で容易に入手できないです)。 tcpdumpmanページから: ポート80との間のすべてのIPv4 HTTPパケットを印刷します。つまり、SYNおよびFINパケットやACKのみのパケットではなく、データを含むパケットのみを印刷します。 tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' このコマンド sudo tcpdump -A 'src example.com and tcp port 80 and(((ip [0]&0xf)<< 2))-((tcp [12]&0xf0)>> 2) )!= 0) ' 次の出力を提供します。 19:44:03.529413 IP 192.0.32.10.http> 10.0.1.6.52369:フラグ[P。]、seq 918827135:918827862、ack 351213824、win 4316、オプション[nop、nop、TS val 4093273405 ecr 869959372]、長さ727 E ..... @ ....... …
42 tcpdump  tshark 



1
TCPDUMPの誤ったチェックサムエラーが多すぎる
GNU Linux 64ビットサーバーで実行されたTCPDUMPからの誤ったチェックサムエラーが多すぎます。エクスポートに50%近くの不正なチェックサムがありますか? cksum 0xe61f(不正(-> 0x8c37) このデータをどのように解釈できますか?パフォーマンスに大きな影響を与えますか?

8
tcpdump出力フローでインターフェイスを表示する方法は?
これは非常に些細な問題のように思えますが、いくつかの検索の後、私は答えを見つけることができません。インターフェイス記述として「any」を使用してtcpdumpを実行できます。 # tcpdump -i any -n host 192.168.0.1 パケットがキャプチャされた表示インターフェイスをtcpdumpに強制する方法はありますか? 更新: これはおそらくバニラtcpdumpでは不可能であることを多くの人々が確認したため、誰かが言及された問題の解決策を提案できますか?おそらく違うスニファ? 一般的な問題は次のとおりです。50個のインターフェイスを持つシステムで、特定のIPアドレスからのパケットの受信インターフェイスを決定します。

4
ポート上のIPアドレスとの間で転送されるバイト数を監視します
誰もがLinuxコマンドラインツールを推奨して、ローカルサーバーと指定されたIPアドレス/ポート間で転送されたバイト数を監視できますか? 同等のtcpdumpコマンドは次のとおりです。 tcpdump -s 0 -i any -w mycapture.trc port 80 host google.com どの出力: 46 packets captured 131 packets received by filter 0 packets dropped by kernel 私は出力する同様のものが欲しい: 54 bytes out, 176 bytes in RHELで動作し、フリー/オープンソースになりたいです。既存のツールがあれば、それも良かったと思います。

3
複数のインターフェイスでのTcpdump
2つのWANインターフェイスと1つのLANを備えたWebプロキシとして機能するCentOS 5サーバーでトラフィックをキャプチャする必要があります。奇妙なプロキシの問題をトラブルシューティングするために、完全な会話をキャプチャしたいと思います。外部接続は2つのWANインターフェース間でバランスがとられているため、すべてのインターフェースで同時にキャプチャすることは可能かと思います。 以前にtcpdumpを使用しましたが、一度に1つのインターフェイスしか許可しません。3つの並列プロセスを起動してすべてのインターフェイスでキャプチャできますが、3つの異なるキャプチャファイルになります。 これを行う正しい方法は何ですか?

1
tcpdumpは、iptablesによってドロップされているパケットを認識しますか?
私はこれらの簡単なルールを持つファイアウォールを持っています: iptables -A INPUT -p tcp -s 127.0.0.1/32 --dport 6000 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.16.20/32 --dport 6000 -j ACCEPT iptables -A INPUT -p tcp --dport 6000 -j REJECT ここで、次のようにTCPDUMPを使用していると仮定します。 tcpdump port 6000 そして192.168.16.21、ポートに接続しようとしているホストがいます6000。 tcpdumpいくつかのパケットを出力し192.168.16.21ますか?

2
CoreOS:tcpdumpはネットワークの問題を不思議に解決します(過剰な数のソケットが使用されています)
今日はあなたのために謎があります。AzureでCoreOS(2023.5.0 / Linux 4.19.25-coreos)に基づいた小さな3ノードのElasticsearchクラスターを実行します。Elasticsearchは、ホストネットワークモードのDockerコンテナ内で実行されます。ほぼ完全にメンテナンスフリーで1年以上稼働した後、マシンが非常に興味深い状態になるのを見てきました。 更新 この問題は、Linuxカーネルのドライバーを修正することで解決しました。以下の回答をご覧ください。 症状 基本的に、影響を受けるマシンと他の2つのノード間のネットワークは停止します。すべてが同じ仮想ネットワークと同じサブネットにあり、通常は他のeathと通信できます。影響を受けるノードは、他のサブネット(sshに接続できます)および別のピア仮想ネットワークからも到達できます。マシンにはインターネットへの(非常にむらのある)接続もありますが、ほとんどの要求はタイムアウトになります。 影響を受けるノードで報告される「使用されるソケット」の数/proc/net/sockstatが非常に多いことを確認しました(正常なノードでは〜300ではなく〜4.5k)。監視により、この数はノードが利用できなくなった瞬間から急速に増加することがわかります。 面白いのは、これらの使用済みソケットのソースを特定できないように見えることです。 # cat /proc/net/sockstat sockets: used 4566 TCP: inuse 2 orphan 0 tw 2 alloc 98 mem 4 UDP: inuse 1 mem 0 UDPLITE: inuse 0 RAW: inuse 0 FRAG: inuse 0 memory 0 # cat /proc/net/sockstat6 TCP6: inuse 98 UDP6: …

7
tcpdump:out.pcap:許可が拒否されました
[root@localhost ~]# cat /etc/issue Fedora release 17 (Beefy Miracle) Kernel \r on an \m (\l) [root@localhost ~]# uname -a Linux localhost.localdomain 3.6.10-2.fc17.i686 #1 SMP Tue Dec 11 18:33:15 UTC 2012 i686 i686 i386 GNU/Linux [root@localhost ~]# tcpdump -i p3p1 -n -w out.pcap -C 16 tcpdump: out.pcap: Permission denied エラーが発生するのはなぜですか? 私は何をすべきか?
14 linux  tcpdump  fedora 

4
tcpdumpはudpのパフォーマンスを向上させます
一連の負荷テストを実行して、次のセットアップのパフォーマンスを判断しています。 Node.js test suite (client) --> StatsD (server) --> Graphite (server) つまり、node.jsテストスイートは、x秒ごとに一定量のメトリックを別のサーバーにあるStatsDインスタンスに送信します。次に、StatsDは、メトリックを毎秒同じサーバーにあるGraphiteインスタンスにフラッシュします。次に、テストスイートによって実際に送信されたメトリックの数と、グラファイトによって受信されたメトリックの数を調べて、テストスイートとグラファイトの間のパケット損失を判断します。 しかし、20〜50%の範囲の非常に大きなパケットドロップ率(UDPプロトコルで送信されていることに注意してください)が得られることがあることに気付きました。そのため、これらのパケットがドロップされる場所を調べ始めたのは、StatsDのパフォーマンスの問題の可能性があるからです。そこで、このドロップが発生した場所を追跡するために、システムのすべての部分でメトリックの記録を開始しました。そして、これは物事が奇妙になる場所です。 私が使用していtcpdumpのを、私は、テストの実行が行われた後、検査キャプチャファイルを作成します。しかし、tcpdumpを実行してテストを実行すると、パケット損失はほとんどありません。tcpdumpがテストのパフォーマンスを何らかの形で向上させているように見えますが、これがなぜ、どのように行われるのかわかりません。次のコマンドを実行して、サーバーとクライアントの両方でtcpdumpメッセージを記録しています。 tcpdump -i any -n port 8125 -w test.cap 特定のテストケースでは、40000メトリック/秒を送信しています。tcpdumpの実行中のテストでは約4%のパケット損失がありますが、テストなしでは約20%のパケット損失があります。 両方のシステムは、次のセットアップでXen VMとして実行されています。 Intel Xeon E5-2630 v2 @ 2.60GHz 2GB RAM Ubuntu 14.04 x86_64 潜在的な原因についてすでに確認したこと: UDPバッファーの受信/送信サイズを増やします。 テストに影響するCPU負荷。(クライアント側とサーバー側の両方で最大負荷40〜50%) 「any」の代わりに特定のインターフェイスでtcpdumpを実行します。 「-p」を指定してtcpdumpを実行し、混合モードを無効にします。 サーバーでのみtcpdumpを実行します。これにより、20%のパケット損失が発生し、テストには影響がないようです。 クライアントでのみtcpdumpを実行します。これにより、パフォーマンスが向上しました。 netdev_max_backlogおよびnetdev_budgetを2 ^ 32-1に増やします。これは違いはありませんでした。 すべてのNICで無差別モードの可能な設定をすべて試しました(サーバーのオンとクライアントのオフ、サーバーのオフとクライアントのオン、両方のオン、両方のオフ)。これは違いはありませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.