GNU/Linux >> Linux の 問題 >  >> Linux

6tcpdumpネットワークトラフィックフィルターオプション

tcpdump ユーティリティは、ネットワークトラフィックをキャプチャして分析するために使用されます。システム管理者はこれを使用して、リアルタイムトラフィックを表示したり、出力をファイルに保存して後で分析したりできます。この3部構成の記事では、tcpdumpを使用して日常業務で使用する可能性のあるいくつかの一般的なオプションを示します。 。

パート1は、インターフェースに関する情報を収集し、キャプチャを開始するためのいくつかの基本的なトリックから始まります。

[次のこともお勧めします:Nmapを使用してネットワーク内の不正なデバイスを見つける]

1。オプション-D

tcpdump -Dを使用 トラフィックをキャプチャできるデバイスのリストを提供します。このオプションは、どのデバイスをtcpdumpするかを識別します 知っている。このリストが表示されたら、トラフィックをキャプチャするインターフェイスを決定できます。また、以下に示すように、インターフェイスが稼働中かどうか、およびループバックインターフェイスかどうかも示されます。

# tcpdump -D

1.tun0 [Up, Running]

2.wlp0s20f3 [Up, Running]

3.lo [Up, Running, Loopback]

4.any (Pseudo-device that captures on all interfaces) [Up, Running]

5.virbr0 [Up]

6.docker0 [Up]

7.enp0s31f6 [Up]

2。オプション-cX

-c オプションはXをキャプチャします パケットの数と停止します。それ以外の場合は、tcpdump 無期限に実行し続けます。したがって、パケットの小さなサンプルセットのみをキャプチャする場合は、このオプションを使用できます。ただし、インターフェースにアクティビティがない場合は、tcpdump 待ち続けます。

# tcpdump -c 5 -i any

dropped privs to tcpdump

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

16:19:22.128996 ARP, Request who-has _gateway tell 192.168.86.81, length 28

16:19:22.130560 IP 172.217.222.189.https > kkulkarni.58810: Flags [P.], seq 3506342975:3506343029, ack 2537104576, win 377, options [nop,nop,TS val 4137065873 ecr 75405758], length 54

16:19:22.130642 IP kkulkarni.58810 > 172.217.222.189.https: Flags [.], ack 54, win 501, options [nop,nop,TS val 75422756 ecr 4137065873], length 0
16:19:22.131198 IP ovpn-3-80.rdu2.redhat.com.36380 > infoblox-trust01.intranet.prod.int.rdu2.redhat.com.domain: 53320+ PTR? 1.86.168.192.in-addr.arpa. (43)

16:19:22.131395 IP kkulkarni.53013 > ovpn-rdu2-alt.redhat.com.https: UDP, length 95

5 packets captured

49 packets received by filter

37 packets dropped by kernel


3。オプション-n

通常、名前の代わりにIPアドレスを使用すると、作業が簡単になります( kkulkarni.53013 など)。 上記の出力に示されているように。 -nを使用できます このために。

# tcpdump -c 5 -i any -n

dropped privs to tcpdump

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes

16:20:21.523375 IP 172.217.9.206.https > 192.168.86.31.34288: Flags [P.], seq 723352132:723352349, ack 2124268216, win 1059, options [nop,nop,TS val 2934032467 ecr 824781066], length 217

16:20:21.563992 IP 192.168.86.31.34288 > 172.217.9.206.https: Flags [.], ack 217, win 12654, options [nop,nop,TS val 824783221 ecr 2934032467], length 0

16:20:22.956717 IP 192.168.86.83.mdns > 224.0.0.251.mdns: 0 [2q] [1au] PTR (QU)? _companion-link._tcp.local. PTR (QU)? _homekit._tcp.local. (88)
16:20:22.956839 IP 192.168.86.83.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/3 (Cache flush)

16:20:22.956932 IP6 fe80::2:8c40:fdea:5a16.mdns > ff02::fb.mdns: 0*- [0q] 2/0/3 (Cache flush) PTR local., (Cache flush) PTR local. (214)

5 packets captured

5 packets received by filter

0 packets dropped by kernel


4。オプション-s

tcpdump -sXXXを使用 キャプチャサイズを制御するのに役立ちます。前の出力の2行目には、キャプチャサイズが262144バイトであり、パケットよりもはるかに大きいことがわかります。 -sを使用できます キャプチャサイズを変更します。パケットヘッダーを検査するだけの場合は、キャプチャに小さいサイズを使用できます。以下の例を参照してください:

# tcpdump -c 5 -i any -n -s64
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 64 bytes
16:24:39.909994 IP 10.22.3.80.46368 > 10.11.200.20.ldap: Flags [.], ack 2583785634, win 502, options [nop,nop,TS[|tcp]>
16:24:39.910118 IP 192.168.86.31.53013 > 66.187.232.72.https: UDP, length 76
16:24:39.981646 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0 [5a] [28q] [1n] [1au][|domain]
16:24:39.983954 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0*- [0q] 2/0/1[|domain]
16:24:40.186150 IP 192.168.86.111.mdns > 224.0.0.251.mdns: 0 [1n] [1au][|domain]
5 packets captured
6 packets received by filter
0 packets dropped by kernel

5。ポートキャプチャ

tcpdump 一部のポートXを使用しているネットワークパケットを指定できます ソースまたは宛先として。たとえば、DNSトラフィックをキャプチャするには、port 53を使用できます。 。 ポートのプレフィックスを付けることができます srcを含むキーワード / dst src port 53として またはdst port 53 さらにフィルタリングします。

# tcpdump -i any port 53 -n
16:49:58.979410 IP 10.22.3.80.46391 > 10.11.5.19.domain: 31741+ A? youtube.com. (29)
16:49:58.979450 IP 10.22.3.80.46391 > 10.11.5.19.domain: 4579+ AAAA? youtube.com. (29)
16:49:58.985835 IP 10.11.5.19.domain > 10.22.3.80.44202: 8898 NXDomain 0/1/0 (154)
16:49:58.986761 IP 10.22.3.80.38074 > 10.11.5.19.domain: 43241+ PTR? 31.86.168.192.in-addr.arpa. (44)
16:49:59.015164 IP 10.11.5.19.domain > 10.22.3.80.38074: 43241 NXDomain 0/1/0 (122)
16:49:59.015209 IP 10.11.5.19.domain > 10.22.3.80.46391: 4579 1/0/0 AAAA 2607:f8b0:4004:810::200e (57)
16:49:59.015231 IP 10.11.5.19.domain > 10.22.3.80.46391: 31741 1/0/0 A 172.217.15.78 (45)
16:49:59.015831 IP 10.22.3.80.51955 > 10.11.5.19.domain: 2503+ PTR? 1.122.168.192.in-addr.arpa. (44)
16:49:59.041490 IP 10.11.5.19.domain > 10.22.3.80.51955: 2503 NXDomain 0/1/0 (122)

6。オプション-w

tcpdumpの出力を書き込みたい場合 ファイルにするには、オプション-w .pcap ファイルに書き込む。書き込まれたパッケージの数を確認する場合は、-vを追加できます。 。

# tcpdump -c 4 -i any port 53 -w dns.pcap -v
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
4 packets captured
24 packets received by filter
0 packets dropped by kernel

[無料のチートシート:サーバーとネットワークを管理するためのLinuxユーティリティとコマンドのリストを入手してください。 ]

まとめ

ご覧のとおり、tcpdump は、ネットワークトラフィックに関するデータを収集するための優れたツールです。パケットキャプチャは、トラブルシューティングとセキュリティ分析に役立つ情報を提供します。

このシリーズのパート2では、さらに6つのtcpdumpについて説明します。 キャプチャされたデータの読み取り方法を含む、機能とフラグ。最後に、パート3では、情報収集のためのさらに多くのオプションを提供します。


Linux
  1. 6つの高度なtcpdumpフォーマットオプション

  2. 知っておく必要のあるtcpdumpの6つのオプション

  3. Centos – 2つのネットワークインターフェイスで別々のネットワークトラフィック?

  1. Linux – Linuxネットワークの名前空間間でトラフィックを転送する方法は?

  2. rsyslog フィルタ オプションについて

  3. インターフェイス経由のネットワーク トラフィック量を監視する

  1. vnStat を使用して Linux でネットワーク トラフィックを監視およびログに記録する方法

  2. ネットワークのトラブルシューティングに tcpdump コマンドを使用する例

  3. SSH を介してすべてのネットワーク トラフィックをトンネリングするにはどうすればよいですか?