tcpdumpフィルタポート
5436 ワード
一般的にTcpdumpを使用する場合は、次のように使用されます.
次のコマンドは、80ポートのアクセス量を表示し、上位20ビットをソートします.
22ポートをフィルタ
二、tcpdumpの詳細な使い方
1つ目は、主にhost、net、port、例えばhost 210.27.48.2を含むタイプのキーワードであり、210.27.48.2がホストであることを示し、net 202.0.0が202.0.0.0がネットワークアドレスであることを示し、port 23がポート番号23であることを示す.タイプが指定されていない場合、デフォルトのタイプはhostです.
2つ目は、主にsrc、dst、dst or src、dst and srcを含む伝送方向を決定するキーワードであり、これらのキーワードは伝送の方向を示す.例えば、src 210.27.48.2は、ipパケット内のソースアドレスが210.27.48.2であることを示し、dst net 202.0.0.0は、ターゲットのネットワークアドレスが202.0.0.0であることを示す.方向キーが指定されていない場合は、デフォルトはsrc or dstキーです.
3つ目はプロトコルのキーワードで、主にfddi、ip、arp、rarp、tcp、udpなどのタイプが含まれています.Fddiは、FDDI(分散ファイバデータインタフェースネットワーク??上の特定のネットワークプロトコルであることを示し、実際には「ether」である.の別名で、fddiおよびetherは類似のソースアドレスおよび宛先アドレスを有するため、fddiプロトコルパケットをetherのパケットとして処理および分析することができる.他のいくつかのキーワードは、リスニングされたパケットのプロトコル内容を示すことである.プロトコルが指定されていない場合、tcpdumpはすべてのプロトコルのパケットをリスニングする.
この3つのタイプのキーワードに加えて、他の重要なキーワードは以下の通りである:gateway、broadcast、less、greater、そして3つの論理演算、非演算を取るのは'not'!'であり、演算とは'and'、'&';または演算は'or'、'||';である.これらのキーワードは組み合わせて強力な組み合わせ条件を構成し、人々のニーズを満たすことができる.以下にいくつかの例を挙げて説明する.
通常、tcpdumpを直接起動すると、最初のネットワークインタフェースに流れるすべてのパケットが監視されます.
# tcpdump
tcpdump: listening on fxp0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
0000 0000 0080 0000 1007 cf08 0900 0000
0e80 0000 902b 4695 0980 8701 0014 0002
000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
ffff 0060 0004 ffff ffff ffff ffff ffff
0452 ffff ffff 0000 e85b 6d85 4008 0002
0640 4d41 5354 4552 5f57 4542 0000 0000
0000 00
-iパラメータを使用して、コンピュータに複数のネットワークインタフェースがある場合に便利なtcpdumpリスニングのネットワークインタフェースを指定します.
-cパラメータを使用して、リスニングするパケットの数を指定します.
-wパラメータを使用して、傍受されたパケットをファイルに書き込む保存を指定します.
Aは、すべての210.27.48.1のホストが受信し、発行したすべてのパケットをキャプチャしたい:
#tcpdump host 210.27.48.1
Bホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の通信をキャプチャするには、コマンドを使用します:(コマンドラインにカッコを適用する場合は、必ず
#tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )
Cホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得する場合は、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Dホスト210.27.48.1が受信または発行したtelnetパケットを取得するには、次のコマンドを使用します.
#tcpdump tcp port 23 host 210.27.48.1
E自機のudp 123ポートを監視する123はntpのサービスポートである
# tcpdump udp port 123
Fシステムはhostnameというホストの通信パケットのみを監視する.ホスト名はローカルホストであっても、ネットワーク上の任意のコンピュータであってもよい.以下のコマンドはホストhostnameが送信したすべてのデータを読み取ることができる.
#tcpdump -i eth0 src host hostname
G以下のコマンドは、ホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホスト
#tcpdump -i eth0 dst host hostname
H指定ゲートウェイを通過するパケットを監視することもできます.
#tcpdump -i eth0 gateway Gatewayname
I指定したポートに接続されたTCPまたはUDPパケットを監視したい場合は、次のコマンドを実行します.
#tcpdump -i eth0 host hostname and port 80
Jホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得したい場合
を選択して、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Kは、ホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の通信をキャプチャするには、コマンドを使用します.
:(コマンドラインにかっこを適用する場合は、必ず
#tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )
Lホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得するには、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Mホスト210.27.48.1が受信または送信したtelnetパケットを取得するには、次のコマンドを使用します.
#tcpdump tcp port 23 host 210.27.48.1
3つ目はプロトコルのキーワードで、主にfddi、ip、arp、rarp、tcp、udpなどのタイプが含まれています.
この3つのタイプのキーワードに加えて、他の重要なキーワードは以下の通りです.gateway、broadcast、less、
greater、3つの論理演算があります.非演算は「not」!」で、演算は「and」、「&」;または演算は「o」です.
r' ,'||';
2つ目は、主にsrc、dst、dst or src、dst and srcを含む伝送方向を決定するキーワードです.
80ポートに送信されたパケットをリストするだけでdst portを使用します.80ポートを返すパケットだけを表示したい場合はsrc portを使用します.
#tcpdump–i eth 0 host hostname and dst port 80のポートは80です
または
#tcpdump–i eth 0 host hostname and src port 80ソースポートは80であり、一般的にhttpのサービスを提供するホストである
条件が多い場合は、条件の前にandまたはorまたはnotを追加します.
#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80
ethernetでハイブリッドモードシステムのログを使用すると記録されます
May 7 20:03:46 localhost kernel: eth0: Promiscuous mode enabled.
May 7 20:03:46 localhost kernel: device eth0 entered promiscuous mode
May 7 20:03:57 localhost kernel: device eth0 left promiscuous mode
tcpdumpは、キャプチャされたデータを完全に復号化しておらず、パケット内の大部分の内容は16進数で直接印刷出力される.明らかにこれはネットワーク障害の分析に不利であり、通常の解決策は、-wパラメータ付きtcpdumpを使用してデータをキャプチャしてファイルに保存し、その後、他のプログラムを使用して復号化分析を行うことである.もちろん、フィルタリングゲージも定義すべきであるこれにより、キャプチャされたパケットがハードディスク(HDD)全体にわたって満たされないようにします.
フィルタ文に加えて、重要なパラメータがあります.つまり、このパラメータが正しく設定されていないと、パケットデータが失われます.
これは-sパラメータ、snaplen、つまりパケットの切り出し長さです.manをよく見るとわかります!デフォルトの切り出し長さは60バイトですが、一般的にethernet MTUは1500バイトです.したがって、60バイト以上のパケットをキャプチャする場合、デフォルトのパラメータを使用するとパケットデータが失われます!
-s 0を使用すればパケット長でデータを切り取ることができます!
tcpdump -i ethx
次のコマンドは、80ポートのアクセス量を表示し、上位20ビットをソートします.
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20
22ポートをフィルタ
tcpdump -i eth1 -s 1500 port not 22
tcpdump -i eth1 -s 1500 port not 22 and port not 53
tcpdump -i eth1 port not 22 and host 1.2.3.4
二、tcpdumpの詳細な使い方
1つ目は、主にhost、net、port、例えばhost 210.27.48.2を含むタイプのキーワードであり、210.27.48.2がホストであることを示し、net 202.0.0が202.0.0.0がネットワークアドレスであることを示し、port 23がポート番号23であることを示す.タイプが指定されていない場合、デフォルトのタイプはhostです.
2つ目は、主にsrc、dst、dst or src、dst and srcを含む伝送方向を決定するキーワードであり、これらのキーワードは伝送の方向を示す.例えば、src 210.27.48.2は、ipパケット内のソースアドレスが210.27.48.2であることを示し、dst net 202.0.0.0は、ターゲットのネットワークアドレスが202.0.0.0であることを示す.方向キーが指定されていない場合は、デフォルトはsrc or dstキーです.
3つ目はプロトコルのキーワードで、主にfddi、ip、arp、rarp、tcp、udpなどのタイプが含まれています.Fddiは、FDDI(分散ファイバデータインタフェースネットワーク??上の特定のネットワークプロトコルであることを示し、実際には「ether」である.の別名で、fddiおよびetherは類似のソースアドレスおよび宛先アドレスを有するため、fddiプロトコルパケットをetherのパケットとして処理および分析することができる.他のいくつかのキーワードは、リスニングされたパケットのプロトコル内容を示すことである.プロトコルが指定されていない場合、tcpdumpはすべてのプロトコルのパケットをリスニングする.
この3つのタイプのキーワードに加えて、他の重要なキーワードは以下の通りである:gateway、broadcast、less、greater、そして3つの論理演算、非演算を取るのは'not'!'であり、演算とは'and'、'&';または演算は'or'、'||';である.これらのキーワードは組み合わせて強力な組み合わせ条件を構成し、人々のニーズを満たすことができる.以下にいくつかの例を挙げて説明する.
通常、tcpdumpを直接起動すると、最初のネットワークインタフェースに流れるすべてのパケットが監視されます.
# tcpdump
tcpdump: listening on fxp0
11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50
11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43
0000 0000 0080 0000 1007 cf08 0900 0000
0e80 0000 902b 4695 0980 8701 0014 0002
000f 0000 902b 4695 0008 00
11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97
ffff 0060 0004 ffff ffff ffff ffff ffff
0452 ffff ffff 0000 e85b 6d85 4008 0002
0640 4d41 5354 4552 5f57 4542 0000 0000
0000 00
-iパラメータを使用して、コンピュータに複数のネットワークインタフェースがある場合に便利なtcpdumpリスニングのネットワークインタフェースを指定します.
-cパラメータを使用して、リスニングするパケットの数を指定します.
-wパラメータを使用して、傍受されたパケットをファイルに書き込む保存を指定します.
Aは、すべての210.27.48.1のホストが受信し、発行したすべてのパケットをキャプチャしたい:
#tcpdump host 210.27.48.1
Bホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の通信をキャプチャするには、コマンドを使用します:(コマンドラインにカッコを適用する場合は、必ず
#tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )
Cホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得する場合は、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Dホスト210.27.48.1が受信または発行したtelnetパケットを取得するには、次のコマンドを使用します.
#tcpdump tcp port 23 host 210.27.48.1
E自機のudp 123ポートを監視する123はntpのサービスポートである
# tcpdump udp port 123
Fシステムはhostnameというホストの通信パケットのみを監視する.ホスト名はローカルホストであっても、ネットワーク上の任意のコンピュータであってもよい.以下のコマンドはホストhostnameが送信したすべてのデータを読み取ることができる.
#tcpdump -i eth0 src host hostname
G以下のコマンドは、ホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホストホスト
#tcpdump -i eth0 dst host hostname
H指定ゲートウェイを通過するパケットを監視することもできます.
#tcpdump -i eth0 gateway Gatewayname
I指定したポートに接続されたTCPまたはUDPパケットを監視したい場合は、次のコマンドを実行します.
#tcpdump -i eth0 host hostname and port 80
Jホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得したい場合
を選択して、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Kは、ホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の通信をキャプチャするには、コマンドを使用します.
:(コマンドラインにかっこを適用する場合は、必ず
#tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )
Lホスト210.27.48.1ホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得するには、コマンドを使用します.
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
Mホスト210.27.48.1が受信または送信したtelnetパケットを取得するには、次のコマンドを使用します.
#tcpdump tcp port 23 host 210.27.48.1
3つ目はプロトコルのキーワードで、主にfddi、ip、arp、rarp、tcp、udpなどのタイプが含まれています.
この3つのタイプのキーワードに加えて、他の重要なキーワードは以下の通りです.gateway、broadcast、less、
greater、3つの論理演算があります.非演算は「not」!」で、演算は「and」、「&」;または演算は「o」です.
r' ,'||';
2つ目は、主にsrc、dst、dst or src、dst and srcを含む伝送方向を決定するキーワードです.
80ポートに送信されたパケットをリストするだけでdst portを使用します.80ポートを返すパケットだけを表示したい場合はsrc portを使用します.
#tcpdump–i eth 0 host hostname and dst port 80のポートは80です
または
#tcpdump–i eth 0 host hostname and src port 80ソースポートは80であり、一般的にhttpのサービスを提供するホストである
条件が多い場合は、条件の前にandまたはorまたはnotを追加します.
#tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80
ethernetでハイブリッドモードシステムのログを使用すると記録されます
May 7 20:03:46 localhost kernel: eth0: Promiscuous mode enabled.
May 7 20:03:46 localhost kernel: device eth0 entered promiscuous mode
May 7 20:03:57 localhost kernel: device eth0 left promiscuous mode
tcpdumpは、キャプチャされたデータを完全に復号化しておらず、パケット内の大部分の内容は16進数で直接印刷出力される.明らかにこれはネットワーク障害の分析に不利であり、通常の解決策は、-wパラメータ付きtcpdumpを使用してデータをキャプチャしてファイルに保存し、その後、他のプログラムを使用して復号化分析を行うことである.もちろん、フィルタリングゲージも定義すべきであるこれにより、キャプチャされたパケットがハードディスク(HDD)全体にわたって満たされないようにします.
フィルタ文に加えて、重要なパラメータがあります.つまり、このパラメータが正しく設定されていないと、パケットデータが失われます.
これは-sパラメータ、snaplen、つまりパケットの切り出し長さです.manをよく見るとわかります!デフォルトの切り出し長さは60バイトですが、一般的にethernet MTUは1500バイトです.したがって、60バイト以上のパケットをキャプチャする場合、デフォルトのパラメータを使用するとパケットデータが失われます!
-s 0を使用すればパケット長でデータを切り取ることができます!