tcpdumpのパケットキャプチャおよび分析ツールのwireshark


1、インストールのtcpdump

YUM -yのtcpdumpをインストール


1.1 tcpdumpのパラメータの解析

簡潔使用tcpdumpの

    ASCII形式ですべてのパケット-A印刷、および最小リンク層ヘッダ。 

    -c指定された数のパケットを受信した後、tcpdumpが停止します。 

    -C元のパケットは、ファイルへの書き込みの前に、現在のファイルサイズが指定されたパラメータFILE_SIZEサイズを超えてご確認ください。あなたが指定したサイズを超えた場合は、現在のファイルを閉じ、新しいファイルを開きます。パラメータFILE_SIZEメガバイト(1,000,000バイト、1,048,576バイトではありません)。 

    コードに一致-dパケットは、アセンブリ・フォーマットを理解人々に与えることができます。 

    -ddパケットは、段落C言語プログラムの形式で指定されたコードと一致します。 

    -dddパケットは、10進数のコードと一致します。 

    システム内のすべてのネットワーク・インターフェースを出力-Dパッケージのtcpdumpを切断するために使用することができます。 

    -e出力線にデータリンク層ヘッダ情報をプリントアウトします。 

    @ IPADDRアルゴSPIと-E:秘密がADDRとしてこれらのアドレスへのIPsec ESPパケットを復号化のセキュリティパラメータインデックス値SPIが含まれています。 

    -f外部インターネットアドレスがデジタル形式でプリントアウト。 

    -Fは、コマンドラインで与えられた式を無視して、指定したファイルからの発現を読み込みます。 

    -i指定されたモニター・ネットワーク・インターフェース。 

    標準出力ラインをバッファリングしてください-l、データをファイルにエクスポートすることができます。 

    -Lリスト知られているネットワークインタフェースのデータリンク。 

    -mは、モジュールからSMI MIBファイル定義のモジュールを導入しました。このパラメータは、MIBの複数のモジュールをインポートするために複数回使用することができます。 

    TCP-MD5オプション-MのTCPパケットが存在する場合は、TCP-MD5ダイジェストオプション(詳細はRFC 2385を参照)を確認するために使用されるコードと共有秘密鍵を使用する必要があります。 

    -bデータ-リンク層プロトコル、IP、ARP、RARPを含むが、IPXはこの層です。 

    -n名にネットワークアドレスを変換しないでください。 

    無変換ポート名を-nnません。 

    -N出力ホストドメイン名の一部ではありません。たとえば、「nic.ddn.mil」出力のみ「NIC」。 

    -tは、出力の各行にタイムスタンプを表示しません。 

    -Oパケットは、パケットは、プログラムコードの最適化(パケットマッチング)を実行していないと一致します。 

    -Pないプロミスキャスモードにネットワークインタフェース。 

    高速出力を-q。出力だけ少ないプロトコル情報。 

    -rパケットは、(一般的に-wオプションこれらのパケット製)指定されたファイルから読み込みます。 

    シリアル番号は、絶対値の代わりに相対値としてTCP出力を-S。 

    むしろ、68バイトのデフォルトよりも、パケットから各バイトの先頭を読んsnaplen -s。 

    ); -Tは、直接メッセージ、一般的なタイプのRPCリモートプロシージャコール)およびSNMP(SNMPの指定されたタイプにパケットの説明に耳を傾けます。 

    -t各行は出力タイムスタンプはありません。 

    各行の-tT出力フォーマットされていないタイムスタンプ。 

    前の行と銀行との間の差と-ttt出力時間。 

    各行のデフォルトフォーマット出力タイムスタンプ日付処理によって-tttt。 

    -u出力は、NFSハンドルをデコード前。 

    -v出力幾分詳細情報はサービス種別情報及びTTL例IPパッケージを含んでもよいです。 

    -vv出力詳細なパケット情報。 

    -wファイルを分析し、プリントアウトしていないのではなく、グループに直接書き込まれます。

1.2詳細な解釈

tcpdumpの詳細な使用

最初のホストを示すホスト、ネット、ポート、例えばホスト192.168.0.2、192.168.0.2を含むキーワードの種類、程度で、
ネットワークアドレスを示すNET 10.0.0.0 10.0.0.0、ポート23は、ポート番号が23であることを示します。型を指定しない場合、デフォルトでは、ホストのタイプである。

第二は、SRC、DST、DST orsrc、DSTを含む送信キーワードの方向、判断することであるとSRCを、 これらのキーワードは、伝送の方向を示しています。
イラスト、SRCの192.168.0.2、パケットに指定された送信元アドレスは、IP 192.168.0.2、DST net10.0.0.0指定した宛先ネットワークアドレスが10.0.0.0です。
あなたがキーワードの方向を指定しない場合、デフォルトでは、SRCまたはDSTのキーワードです。

第三は、FDDI、IP、ARP、RARP、などの主要な合意であり、 TCP、UDP 、および他のタイプ。FDDIは、データインタフェースオンライン分散FDDI(ファイバ内の指定された
特定のネットワーク・プロトコル、それは実際に「エーテル」の別名であり、およびFDDIエーテルを同様の送信元アドレスと宛先アドレスを持っているので、それは、FDDIプロトコルとすることができる
エーテルとしてパケットパケット処理と分析。パッケージ契約リスニングの内容を示す他のいくつかのキーワード。あなたはどんな契約を指定しない場合は、
tcpdumpのは、すべてのプロトコルのパケットを監視します。

に加えて、キーワードのこれらの3つのタイプに加え、他の重要なキーワードを次のようにゲートウェイ、放送、以下、より大きい 、 3つの論理操作があるが、取る 
非操作が「」 'ではない[され、操作がある「と」、「&&」;又は動作である「または」,! '││'
人々のニーズを満たすために、いくつかの例を以下に説明します。

1.3例

1、デフォルトのスタートアップ
    
のtcpdump -vv -i eno16777736 

通常の状況下では、ダイレクトスタートのtcpdumpは、第1のネットワーク・インタフェース上を流れるすべてのパケットを監視します。

図2に示すように、フィルタホスト

のtcpdump -i eno16777736ホスト192.168.1.1位すべてeno16777736を通じてフェッチ、送信元または宛先アドレスである192.168.1.1ネットワークデータ
のtcpdump -i eno16777736 SRCホスト192.168.1.1#は送信元アドレスを指定し、192.168.1.1 
のtcpdump -i eno16777736のDSTホスト192.168.1.1位宛先アドレス192.168.1.1 

。3、フィルタリングするポート

のtcpdump -iポート25 eno16777736 
tcpdumpの-i eno16777736 SRCポート25 
のtcpdump -i eno16777736 DSTポート25 

eno16777736、送信元または宛先ポート25を介してすべてをフェッチしますデータネットワーク

4、フィルタリングネットワーク
    
-iのtcpdumpをネット192.168 eno16777736 
のtcpdump -i eno16777736 SRC 192.168正味
のtcpdump -i eno16777736 DSTネット192.168 

。5、プロトコルフィルタリング

のtcpdump -i eno16777736 ARP
-i IPは、tcpdumpのeno16777736
TCP -i eno16777736のtcpdump 
tcpdumpの-i eno16777736 UDP 
のtcpdump -i eno16777736 ICMP 

6、式が一般的に使用される
    
非:!か"ない"(二重引用符を削除)  
して:&&または"と"  
または:||または"または" 


クロールすべてeno16777736、または宛先の後にアドレスが192.168.1.254 192.168.1.200 TCP 80のポート番号で
    
のtcpdump -i eno16777736「((TCP)及び(ポート80)及び((DSTホスト192.168.1.254)または(DSTホスト192.168.1.200) )) ' 

eno16777736を介してすべてをつかむ、宛先MACアドレスが00:ICMPデータ05 01:02:03 :: 04 
    
のtcpdump -i eno16777736'((ICMP)および((エーテルDSTホスト00:01:02:03: 4:05))) ' 

グラブすべてeno16777736を通じて、宛先ネットワークが192.168ではなく、の宛先ホスト192.168.1.200 TCPデータ
    
のtcpdump -i eno16777736'((TCP)と)192.168((DSTネットと(DSTではなくホスト192.168 .1.200))) ' 


コマンドパラメータにtcpdumpのパケットキャプチャファイルを保存するには、-w xxxのです。

    パッケージeno16777736キャッチ
    のtcpdump -i eno16777736 -w /tmp/xxx.cap 
    ビューキャプチャファイル
    のtcpdump -r /tmp/xxx.cap 
    
    192.168.0.203パッケージキャッチ
    のtcpdump -i eno16777736ホスト192.168.0.203 -wを/ tmp / XXXを。 キャップ
    パッケージを把持し80 192.168.0.203ポート
    のtcpdump -i eno16777736ホスト192.168.0.203とポート80 -w /tmp/xxx.capの
    192.168.0.203のICMPパケットのグリップ
    のtcpdump -i eno16777736ホスト192.168.0.203とICMP -w / TMP / xxx.cap 
    80 192.168.0.203とポート110と25以外のポートグリップパッケージ
    のtcpdump -i eno16777736 192.168.0.203とホスト!ポート80と!ポート25と!-w /tmp/xxx.capポート110 
    福袋のVLAN 1つ
    のtcpdump -i eno16777736ポート80と、VLAN 1つの -w /tmp/xxx.cap 
    キャッチのPPPoEパスワード 
    のtcpdump -i eno16777736 pppoes -w /tmp/xxx.cap 
    ファイルを保存するために100メートル分割サイズに、100メートル以外のファイル開く
    -C 100メートル
    逮捕を万のパケットの後に辞め
    10000 -c 
    背景には、コンソール出口をキャプチャするには影響しません
    nohupをtcpdumpの-i eno16777736ポート110 -w /tmp/xxx.cap&

1.4例

[ルート@ localhostの〜]#tcpdumpの-i eno16777736 DSTホスト192.168.0.203 -w /tmp/xxx.cap 
のtcpdump:eno16777736に耳を傾け、リンク型EN10MB(イーサネット)、キャプチャサイズ262144バイト

^ C21パケットキャプチャ

[ルート@ localhostを〜]#LL /tmp/xxx.cap  
-rw-R - r--の1のtcpdump tcpdumpの1760年7月13 14時33分/tmp/xxx.cap 
[ルート@ localhostの〜]#tcpdumpの-r / TMP / XXX。キャップ  
ファイル/tmp/xxx.capから読み出し、リンク型EN10MB(イーサネット)
14:32:58.145798 IP> 192.168.0.203.http 192.168.0.201.46824:フラグ[R]、配列番号3390683954は、0、長さ0勝つ
14 :32:58.945777 IP 192.168.0.201.46828> 192.168.0.203.http:フラグ[S]、配列番号3069531638、29200を獲得し、オプション[MSS 1460、sackOK、TSヴァル246238969 ECR 0、NOP、wscale 7]、長さが0
14:32:58.946461 IP 192.168.0.201.46828> 192.168.0.203.http:フラグ[R.]、SEQ 3069531639、ACK 3707664099、勝つ229、オプション[NOP、NOP、TS valを0 ECR 246266476]、長さ0 
14: 32:59.948016 IP 192.168.0.201.46828> 192.168.0.203.http:フラグ[R]、配列番号3069531639、0を獲得する、長さ0 
:14:33:00.949073 IP 192.168.0.201.46832> 192.168.0.203.http:フラグ[S ]、配列番号11760599、29200を獲得し、オプション[MSS 1460、sackOK、TSヴァル246240972 ECR 0、NOP、wscale 7]、長さ0 
:14:33:00.950145 IP 192.168.0.201.46832> 192.168.0.203.http:フラグ[R 。]、配列番号11760600、ACK 2581657852、勝つ229、オプション[NOP、NOP、TS valを0 ECR 246268480]、長さ0 
14:33:02.152084 IP 192.168.0.201.46832> 192.168.0.203.http:フラグ[R]、 SEQ 11760600、0勝利、長さが0
14:33:02.953212 IP 192.168.0.201.46836> 192.168.0.203.http:フラグ[S]、配列番号3987661143は、29200、オプション[MSS 1460 sackOK、TSヴァル246242976 ECR 0、NOP、wscale 7]、長さが0に勝ちます
14:33:02.953731 IP 192.168.0.201.46836> 192.168.0.203.http:フラグ[R.]、SEQ 3987661144、ACK 1117892437、勝つ229、オプション[NOP、NOP、TS valを0 ECR 246270483]、長さが0


2 Wiresharkの

yumをインストールwiresharkの* -y

参考https://www.cnblogs.com/liun1994/p/6142505.html

2.1 tsharkのパラメータオプション:

キャプチャインタフェース:
  -i:-i <インターフェース>はキャプチャインターフェイスが指定され、デフォルトでは、最初の非ローカル・ループ・インターフェースであり、
  -fは:-f <キャプチャフィルタ]> [設定]、キャプチャフィルタ式は、libpcapのフィルタ構文に従い、これは本当にキャプチャフィルタリングのプロセス、分析がローカルファイルよりも小さい場合。
  -s:-sネットワークで送信完全なパケットを読み出すために設けられ、<snaplen>スナップショットの長さが65535で、0の値65535は、スナップショットの長さを表しているので、デフォルト値は制限される。
  -p:作業モード純粋、それは、トラフィックおよびマシンに関する唯一の懸念です。
  -B:-B <バッファサイズ>はバッファサイズを設定し、Windows上でのみ有効になり、デフォルトでは2Mであり、
  -Y:-Yデータリンク層のプロトコルの<リンクタイプ>に設定キャプチャは、デフォルトに設定されていない-L LANを見つけるために第1のプロトコルは、通常のようにEN10MB; 
  -Dは:インターフェイスと出口のリストを印刷する、
  マシンデータリンク層プロトコルによってサポート-Lリスト、使用-yパラメータについて。

:キャプチャオプションを停止し
  、キャプチャした後、-c <パケットCOUNT> nのパケットは、デフォルトの無制限の数をキャプチャ;:-c 
  -a:-a <AUTOSTOP指揮。> ... DURATION:NUM、NUM秒後、キャプチャを停止し、
                   ファイルサイズ:numKBは、キャプチャを停止した後NUM、; 
                    ファイル:NUMは、キャプチャを停止するためにNUMファイルをキャプチャした後、
出力オプションをキャプチャ:
  -b ...リング<リングバッファOPT。>バッファは、-bパラメータは、テスト使用して、ファイル名-wパラメータによって決定されます。フォームに書き込まれた値を、
                 DURATION:NUM - NUM秒後に次のファイルに切り替え、
                 ファイルサイズ:NUM -次のファイルNUM KBに切り替えた後、
                 ファイル:NUM -ファイルの後、リングバッファを形成NUMに達する; 

RPCAPオプション:
  リモートパケットキャプチャプロトコル、リモートキャプチャキャプチャプロトコル; 
  -A:-A <ユーザー>を<認証用RPCAPパスワードを使用してパスワード>; 

入力ファイル:
  -R&LT:-R&LT <INFILE>読み取り設定ローカルファイル

処理オプション:
  -2:分析は2回実施
  -R:-R <読み取りフィルタ>を、読み取りフィルタリングパッケージ、あなたはのフィルター構文のwiresharkで見ることができます;のwiresharkの観点から- >フィルタビューを、このコラムで表現をクリックして、それがすべてのプロトコルのサポートを示しています。
  -Y:-Y -Rオプションを置き換えることができ、単一の分析におけるリードフィルタの構文を使用して、<表示フィルタ>、; 
  -n:名前解決は、(デフォルトではすべて許可する)すべてのアドレスを禁止
  し-N:層のアドレス解決の名前を有効にします。「M」は、MAC層を表す「n」は、トランスポート層の代わりに、ネットワーク層、「T」を表し、「C」は、現在の非同期DNSルックアップを表します。-nおよび-Nパラメータが存在する場合、-nは無視されます。-nおよび-Nパラメータが書かれていない場合は、デフォルトではすべてのアドレスの名前解決を開きます。
  -d:HTTP開梱して、ポート8888上のTCPトラフィックへの出力を開梱関連協定に従い、指定されたデータは、「-d tcp.portの== 8888は、http」のように記述する必要があります 。-dはtsharkのを挙げることができます。すべては、効果的なセレクタをサポートしていました。
  
出力オプション:
  -w:-w <OUTFILE | - >生データの出力ファイルを設定します。このパラメータが提供されない、tsharkの復号結果は、標準出力に出力されます「 - wが- 」stdoutに生の出力を表します。あなたの代わりに-wパラメータの「>」リダイレクションを使用して、ファイルに結果の出力をデコードします。
  -F:-F <出力ファイル・タイプ>は 、 出力ファイル形式を設定し、デフォルトではサポートされているすべての出力ファイルの種類を一覧表示するtsharkの-fを使用し、.pcapngされます。
  -V:詳細出力を増加させる; 
  -O:-O <プロトコル>、指定されたプロトコルを表示するには、このオプションの詳細のみ。
  -P:復号結果を要約ファイルに書き込まれ、印刷パッケージされている場合でも、
  -S:-S <セパレータ>行区切り
  -x各パケットの背面に設けられた復号化された出力結果をHEXダンプように示されています特定のデータ。
  -T:-T PDML | PS |テキスト |フィールド| PSMLは、 テキスト、PS、PSMLとPDML、デフォルトのテキストを含む出力フォーマットのデコード結果、設定
  -eを:-Tオプションが指定されているフィールド場合は、-eは出力を指定しますどのフィールド; 
  -E:-E <fieldsoption> = <値>
    = F発生| L | 
    アグリゲータ=、| / S | <CHAR> 
  -t:-t | AD | D | DD | E | R&LT | U | UD復号結果設定された時間形式。「広告」は、日付と絶対時間を表し、「」絶対的な時間と日付を表し、「R」は今相対時間に最初のパケットを示し、「D」は、2つの隣接するパッケージ間の増分を表します時間(デルタ)。
  ; |:-u HMS第二の出力形式だ
  各パケットの出力後のフラッシュを標準出力:-l 
  -q:統計解析のために用いられる結-zオプションを; 
  -X-:<キー>:<値>の拡張機能、lua_script、read_formatは、特にページと人を参照してください。
  -z:統計オプション、特定のリファレンスマニュアルを参照して、tsharkの-zヘルプは、あなたが一覧表示でき、-zオプションは、統計的手法によってサポートされています。
  
その他のオプション:
  -h:表示コマンドラインヘルプ; 
  -v:tsharkののバージョン情報を表示します。

2.2例

http //印刷ストリームプロトコル情報
tsharkの-s 512 -i eth0の-n -f 'のtcp dstのポート80' -R 'http.hostとhttp.request.uri' -Tフィールド-e http.host -eのhttp。 request.uri -l | TR -d '\ T ' 
  注:
    -s:ちょうど最初の512のバイトをつかむ; 
    -i:eth0のネットワークカードをキャプチャ; 
    -n:ネットワーク・オブジェクト名の解決を禁止し、
    -f:キャプチャする唯一のプロトコルがTCPであります、宛先ポート80、
    -R&LT:http.hostを濾過し、http.request.uri; 
    -Tは、-e;プリントこれら二つのフィールドを指す
    -I:コマンドラインインターフェイスに出力するステップと、  
//印刷リアルタイムmysqlのクエリ
tsharkの-s 512 -i eth0の-n -f ' -e mysql.queryフィールド-Tのtcp dstのポート3306' -R 'mysql.query' 
   :NOTE 
    -R&LT:mysqlのフィルタクエリを; 
//派生SMPPプロトコルヘッダと値の例
tsharkの-r test.cap -R '(smpp.command_id == 0x80000004)及び(smpp.command_status == 0x0の)' -e smpp.message_id -eフレーム。時間-Tフィールド-Eヘッダ= Y> test.txtの
   注:
    -R&LT:ローカルファイルを読み込み、最初のキャプチャが生き残るの後、その後に分析することができます。
    -R&LT:SMPPを... Wiresharkのフィルタ式が内部で見つけることができ、後に詳述する。
    -E:フィールド際-T指定された場合、= yが印刷されるヘッド平均出力オプション、ヘッダを設定し; 
    -e:ときに出力を設定するフィールド-Tフィールド指定する。
     >:リダイレクト; 
// HTTP統計状態
tsharkの-n -q -z HTTP 、STAT、-z HTTP、ツリー
   注:
    -q:出力データのみキャプチャの最後にコマンドの統計カテゴリのために非常に有用である。
    -z:統計オプションのすべての種類、具体的な参考資料は、後に導入される、あなたがtsharkのを使用することができます利用可能なすべてのフィールドを参照するには-z helpコマンド、
       HTTP、STAT:HTTP統計は、HTTPステータスコードとHTTPリクエストメソッドの値を示して計算します。
       HTTP、木:HTTPパケットは、分散コンピューティングを。示した値は、HTTPリクエストとHTTPステータスコードパターンです。
// URL抽出されたプリントにアクセスするためのパケット500フェッチ
tsharkの-s 0 -i eth0の-n -f 'のtcp dstのポート80を' -R 'http.hostとhttp.request.uri' -e HTTPをフィールド-T。 -e http.request.uri -l -c 500ホスト
   :注  
    -f:捕捉フィルタの前に、
    -R&LT:濾過後に捉えます。
    -l:バッファを印刷する前に、明確な結果; 
    -C:エンドパケット500把握した後、
// SSLデータ表示データ
tsharkの-n -ta -R SSL -Tフィールド-e "ip.src" SSL」-e。 App_Dataに「

//指定されたメッセージの内容は、SSLフィルタリングに表示されている読み
tsharkの-r temp.cap -R」SSL「-V -Tテキスト
  注:  
    -Tテキスト:出力形式、デフォルトはテキストです。
    -V:上昇パッケージ出力; // - Q TCPフローフィルタ13は、コンテンツデータを取得
tsharkの-R&LT temp.cap -Z "従う、TCP、ASCII、13" 

指定された形式で表示を// -e 
tsharkの-R&LT temp.cap -R&LT SSL - ip.dst -e -e -e tcp.srcport tcp.dstport "ip.src" -e tfields 

//出力データ
tsharkの-r vmx.cap -q -n -t広告-zは 、TCP、ASCII、10.1に従ってください。 8.130:56087,10.195.4.41:446 |もっと
  注:
    -t AD:出力フォーマットのタイムスタンプ; 
//タイムフィルターバッグとrtp.seq
tsharkの-i eth0の-f "UDPポート5004 " -Tフィールド-e frame.time_epoch -e rtp.seq -o rtp.heuristic_rtp:真1> test.txtという
  注:
    -o:;属性ファイルセット内の値を上書きします

/各/抽出プロトコルデータ部分
tsharkのを-rのH:/httpsession.pcap -q -n -t広告-zが続く、TCP、ASCII、71.6.167.142:27017,101.201.42.120:59381 |詳細



おすすめ

転載: blog.51cto.com/superleedo/2421087