Linux ネットワーク データ パケット キャプチャ

ネットワーク データ パケット キャプチャとは何ですか?

        ネットワーク データ パケット キャプチャは、重要なネットワーク トラブルシューティングおよびネットワーク セキュリティ検出テクノロジです。ネットワーク内で送信されるデータ パケットをキャプチャして分析することができ、ネットワーク管理者やセキュリティ専門家がネットワーク障害を診断し、ネットワーク パフォーマンスを最適化し、ネットワーク セキュリティを監視するのに役立ちます。ネットワーク データ パケットがキャプチャされる理由は次のとおりです。

  1. トラブルシューティング: ネットワーク データ パケット キャプチャは、ネットワーク障害の特定、ネットワーク データ パケットの損失、遅延、重複、エラーなどの異常な状況の分析、障害の原因の特定、解決に役立ちます。
  2. パフォーマンスの最適化: ネットワーク データ パケット キャプチャは、ネットワーク トラフィックを分析し、ネットワーク データ パケットのサイズ、量、送信時間、その他のパラメーターをカウントして、ネットワーク パフォーマンスを最適化し、ネットワーク スループットと応答速度を向上させることができます。
  3. セキュリティ監視: ネットワーク データ パケット キャプチャは、ネットワーク セキュリティを監視し、ネットワーク攻撃、マルウェア、その他のセキュリティ脅威を検出し、セキュリティ インシデントを適時に検出して防止し、ネットワーク セキュリティを保護します。
  4. アプリケーション分析: ネットワーク データ パケット キャプチャは、データ トラフィック、アプリケーションの遅延とスループットを分析し、アプリケーションのパフォーマンスの問題やエラーを検出し、アプリケーションの設計と実装の最適化に役立ちます。

ネットワーク データ パケット キャプチャは、ネットワーク管理者やセキュリティ専門家がネットワークをより適切に管理および保護し、ネットワークの可用性、パフォーマンス、およびセキュリティを向上させるのに役立つ重要なネットワーク管理テクノロジです。

ネットワーク データ パケットをキャプチャする方法

        主な方法はいくつかありますが、単純なものは tcpdump コマンドラインを直接使用でき、より複雑なものは Wireshark を使用してパケットをキャプチャできますが、ここではスクリーンショットを撮るのが不便なので、簡単な tcpdump を紹介します。

        tcpdump        

        tcpdump は、ネットワーク パケットをキャプチャして分析するためのコマンド ライン ツールです。Unix、Linux、Windows、その他のオペレーティング システムで使用できます。Tcpdump は、ネットワーク上のパケットをキャプチャし、特定のフィルターを使用してこれらのパケットをフィルター処理して分析することによって機能します。これにより、管理者はネットワーク トラフィックの監視、ネットワークの問題の検出、ネットワーク パフォーマンスの分析、ネットワーク セキュリティの脆弱性の発見が可能になります。

        tcpdumpを使用する

1. tcpdump を使用する前に、キャプチャされたネットワーク インターフェイスを特定する必要があります。Linux を例として、コマンド ifconfig または ip a を使用してネットワーク ポート リストを表示します。これら 2 つのコマンドを実行しても見つからない場合は、次のことを行う必要があります。まず対応するライブラリをダウンロードしてください。

//ubuntu运行ifconfig
apt-get install net-tools


//centos运行ip a
yum -y install initscripts
root@93da3b39d1f0:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 4650  bytes 6677565 (6.6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3744  bytes 250267 (250.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2. まず help コマンドを使用して、利用可能なパラメータを確認してみましょう。

root@93da3b39d1f0:/# tcpdump -h
tcpdump version 4.99.1
libpcap version 1.10.1 (with TPACKET_V3)
OpenSSL 3.0.2 15 Mar 2022
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
                [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
                [ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
                [ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
                [ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
                [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
                [ --time-stamp-precision precision ] [ --micro ] [ --nano ]
                [ -z postrotate-command ] [ -Z user ] [ expression ]

使い方が簡単 

tcpdump -i interface -nn -w reputation.txt

//tcpdump -i eth0 -nn -w reputation.txt

        このうち、-i Interface はキャプチャするネットワーク インターフェイスを示し、-nn は IP アドレスをホスト名に変換しないことを示し、-wreputation.txt はキャプチャしたパケットをreputation.txt ファイルに保存することを示します。

3. 指定プロトコルのモニタリングデータ

tcpdump -i eth0 -nn 'icmp'

キャプチャされたパケットの詳細を表示するには、ping コマンドで使用されるプロトコルである icmp プロトコルのデータをリッスンします。1 つの例から推論することができ、tcp または udp プロトコルを監視する場合は、icmp を tcp または udp に変更するだけで済みます。

4. 指定したホストをリッスンします

tcpdump -i eth0 -nn 'host 192.168.1.2'

この場合、ホスト 192.168.1.2 によって送受信されたパケットがキャプチャされます。

tcpdump -i eth0 -nn 'dst host 192.168.1.2'

dst を追加すると、ここでのターゲットは 192.168.1.2 のみになります。これは、このホストが受信したパケットのみがキャプチャされることを意味します。

$ tcpdump -i eth0 -nn 'src host 192.168.1.2'

これが src の場合、このホストによって送信されたパケットのみがキャプチャされることを意味します。

5. 指定したポートをリッスンします

tcpdump -i eth0 -nn -A 'port 80'

A パラメータは、送信元アドレス、宛先アドレス、プロトコル タイプ、パケット長、シーケンス番号、確認番号など、各パケットの詳細情報を表示するために使用されます。-A パラメーターを使用すると、ネットワーク パケットをより詳細に分析し、潜在的なネットワークの問題やセキュリティ リスクを特定するのに役立ちます。

ここでポートを 80 に指定すると、ホストのポート 80 によって送信されたすべてのデータ パケットのみを監視できます。 -A パラメータを使用すると、詳細情報を表示し、情報をより簡単に表示できます。

もちろん、次のようにポートをホストと組み合わせることもできます。

tcpdump -i eth0 -nnA 'port 80 and src host 192.168.1.2'

このようにして、ポート 80 を監視し、IP 192.168.1.2 によって送信されるデータを監視できます。

おすすめ

転載: blog.csdn.net/u013379032/article/details/131989639