ネットワーク異常時のパッケージング操作説明tcpdump+Wireshark

6634 ワード

借金を振り替える
https://help.aliyun.com/knowledge_detail/40564.html?spm=5176.11065259.1996646101.searchclickresult.12324fafw7BN7M
ソース・サーバがターゲット・サーバにアクセスして異常が発生し、ドキュメントのpingがパケットを失ったり、パケットが通じなかったりした場合のリンクテストの説明と、pingが通じたがポートが通じなかった場合のポート可用性プローブの説明の調査分析処理後、問題が解決されなかった場合は、パケットをつかんで最も元のインタラクティブなデータを取得してさらに調査分析する必要があります.本稿では、まず一般的なパッケージツールについて説明し、次にパッケージの操作手順について簡単に説明します.本稿では,パケットデータの解析処理の説明には触れない.

一般的なパッケージングツールの概要


オペレーティングシステムのタイプによっては、一般的なパッケージツールについて簡単に説明します.
  • Linux環境でのパッケージングツールの紹介
  • Windows環境でのパッケージングツールの紹介
  • Linux環境でのパッケージングツールの紹介


    Linux環境では、通常、tcpdumpによってパケットのキャプチャと分析が行われる.ほとんどのLinuxリリースでプリインストールされているパケットのキャプチャと分析ツールです.
    tcpdumpツールの取得とインストールは、対応するオペレーティングシステムの公式ドキュメントを参照してください.ここでは詳しく説明しません.
     
    tcpdumpの使い方は以下の通りです.
    tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ] 
             [ -c count ] 
             [ -C file_size ] [ -G rotate_seconds ] [ -F file ] 
             [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ] 
             [ --number ] [ -Q in|out|inout ] 
             [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ] 
             [ -W filecount ] 
             [ -E spi@ipaddr algo:secret,... ] 
             [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ] 
             [ --time-stamp-precision=tstamp_precision ] 
             [ --immediate-mode ] [ --version ] 
             [ expression ]

     
    一般的なパラメータの説明(大文字と小文字を区別):
  • -sパケットキャプチャ長を設定します.0に設定すると、自動的に適切な長さを選択してパケットをキャプチャします.
  • -wは、コンソールで分析および印刷出力を行うのではなく、パッケージ結果をファイルにエクスポートします.
  • -iは、リスニングが必要なインタフェース(NIC)を指定します.
  • -vvvは詳細なデータインタラクション情報を出力する.
  • expressionは、メッセージをフィルタする条件として使用される正規表現です.主に次のような種類があります.
  • タイプに関するキーワード:host(ホスト)、net(ネットワーク)、port(ポート)を含む.
  • 伝送方向を決定するキーワードは、src(ソース)、dst(ターゲット)、dst or src(ソースまたはターゲット)、dst and src(ソースおよびターゲット)を含む.
  • プロトコルのキーワード:icmp、ip、arp、rarp、tcp、udpなどのタイプを含む.


  • 詳細なパラメータの説明と使用方法は、tcpdumpのmanヘルプを参照してください.
     
    一般的な使用方法とサンプルの出力:
  • 指定NIC指定ポートのインタラクティブデータをキャプチャする
  • 操作指令
    tcpdump -s 0 -i eth0 port 22
  • 例出力
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
    20:24:59.414951 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442372:442536, ack 53, win 141, length 164
    20:24:59.415002 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442536:442700, ack 53, win 141, length 164
    20:24:59.415052 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442700:442864, ack 53, win 141, length 164
    20:24:59.415103 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442864:443028, ack 53, win 141, length 164
  • 指定ネットワークカードが指定IP上の指定ポートに送信したインタラクションデータをキャプチャし、コンソールに詳細なインタラクション情報を出力する
  • 操作指令
    tcpdump -s 0 -i eth1 -vvv port 22
  • 例出力
    tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
    20:24:20.991006 IP (tos 0x10, ttl 64, id 22747, offset 0, flags [DF], proto TCP (6), length 316)
        172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], cksum 0x2504 (incorrect -> 0x270d), seq 133624:133900, ack 1, win 141, length 276
    20:24:20.991033 IP (tos 0x0, ttl 53, id 2348, offset 0, flags [DF], proto TCP (6), length 92)
        42.120.74.107.43414 > 172.16.2.226.ssh: Flags [P.], cksum 0x4759 (correct), seq 1:53, ack 129036, win 15472, length 52
    20:24:20.991130 IP (tos 0x10, ttl 64, id 22748, offset 0, flags [DF], proto TCP (6), length 540)
        172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], cksum 0x25e4 (incorrect -> 0x5e78), seq 133900:134400, ack 53, win 141, length 500
    20:24:20.991162 IP (tos 0x0, ttl 53, id 2349, offset 0, flags [DF], proto TCP (6), length 40)
        42.120.74.107.43414 > 172.16.2.226.ssh: Flags [.], cksum 0xf39e (correct), seq 53, ack 129812, win 15278, length 0
  • 指定IPに送信されたpingインタラクションデータをキャプチャし、コンソールに詳細なインタラクション情報を出力する
  • 操作指令
    tcpdump -s 0 -i eth1 -vvv dst 223.5.5.5 and icmp
  • 例出力
    tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
    20:26:00.368958 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
        172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 341, length 64
    20:26:01.369996 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
        172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 342, length 64
    20:26:02.371058 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
        172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 343, length 64
    20:26:03.372181 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
        172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 344, length 64
  • システム内のすべてのインタフェースデータをキャプチャし、指定されたファイルに保存
  • 操作指令
    tcpdump -i any -s 0 -w test.cap
  • 例出力
    tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes

  • Windows環境でのパッケージングツールの紹介


    Windows環境では、通常、Wiresharkによってパッケージのキャプチャと分析が行われます.Windowsで最もポピュラーな無料オープンソースのパケットキャプチャと分析ツールです.
    Wiresharkツールの入手とインストールの説明は、公式サイトを参照してください.ここでは詳しく説明しません.
     
    Wiresharkパッケージング手順:
  • インストール後にソフトウェアを開きます.
  • メニューキャプチャ>オプションを選択し、次の図のようにWireSharkキャプチャインタフェース構成図をポップアップする:
  • 上記の図に示すように、インタフェース名または対応するIPアドレスに基づいて、パケットをキャプチャする必要があるNICを選択し、クリックしてパケットを起動します.
  • しばらくしてから、メニューキャプチャ>停止を選択し、パッケージのキャプチャを停止します.
  • メニューファイル>保存を選択し、パッケージ結果を指定したファイルに保存します.

  • Wiresharkツールの使用とデータ分析方法については、公式ドキュメントを参照してください.ここでは詳しく説明しません.

    梱包操作手順及び作業指示の提出に関する注意事項


    キャプチャ・パッケージは、比較分析のために、ソース・サーバとターゲット・サーバから同時に同時に動作する必要があります.操作手順は次のとおりです.
  • は、ソースサーバとターゲットサーバが自身のどのNICを介してデータインタラクションを行うかを明確にする.
  • ソースサーバがNAT共有方式でパブリックネットワークにアクセスするとipにアクセスする.taobao.comなどのサイトでは,ローカルネットワークに対応するパブリックネットワークIPを取得する.
  • に異常が発生した場合は、前述の説明を参照して、関連ツールによってソースサーバからターゲットサーバアドレスのターゲットポートをキャプチャします.または、完全なスナップショットを行い、スナップショットデータを保存します.
  • に異常が発生した場合は、前述の説明を参照して、関連ツールによってソースサーバアドレスをターゲットサーバからキャプチャします.または、完全なスナップショットを行い、スナップショットデータを保存します.
  • パケットデータが大きい場合は、ワークシートシステムの添付ファイルサイズの制限を超えています(現在は2 M).前述のパッケージング結果をパッケージングしてからサードパーティのディスクにアップロードし、外部チェーン共有アドレスを取得するか、OSS管理コンソールを介してファイルをアップロードし、アクセスアドレスを取得する必要があります(ユーザーがアリクラウドオブジェクトストレージOSSサービスを購入した場合).

  • アフターサービス技術サポートに連絡し、上記のパケットデータ取得アドレスをフィードバックし、アリクラウドエンジニアがさらに調査分析を行うために.