ホームページ  >  記事  >  コンピューターのチュートリアル  >  Tcpdump がパケットをキャプチャして分析する方法

Tcpdump がパケットをキャプチャして分析する方法

WBOY
WBOY転載
2024-03-20 19:36:18850ブラウズ

Tcpdump がパケットをキャプチャして分析する方法

Tcpdump は強力なネットワーク分析ツールで、主に Linux システムおよび macOS のネットワーク トラフィック分析に使用されます。ネットワーク管理者は、tcpdump を通じてネットワーク トラフィックをキャプチャおよび分析し、ネットワーク スニッフィングを実行し、TCP/IP パケットを監視できます。 「libpcap」と呼ばれるライブラリを利用して、ネットワーク トラフィックを効率的にキャプチャします。 tcpdump は、ネットワーク管理者がネットワークの問題を特定し、問題をトラブルシューティングするのに役立つだけでなく、ネットワーク アクティビティを定期的に監視し、ネットワーク セキュリティをチェックするのにも役立ちます。キャプチャされたデータは「pcap」と呼ばれるファイルに保存され、TCP/IP パケット分析ツール (Wireshark など) またはその他のコマンド ライン ツールを使用してさらに分析し、ネットワーク トラフィックとネットワーク通信についての洞察を得ることができます。

このガイドでは、Linux システムに TCPDUMP をインストールする方法と、TCPDUMP を使用して TCP/IP パケットをキャプチャして分析する方法を説明します。

Tcpdump のインストール方法

多くの Linux ディストリビューションには、tcpdump がプリインストールされています。 tcpdump がシステムにまだインストールされていない場合は、Linux システムに簡単にインストールできます。 Ubuntu 22.04 システムでは、簡単なコマンドを使用して tcpdump をインストールできます。

$sudo apt インストール tcpump

Fedora/CentOS に tcpump をインストールするには、次のコマンドを使用します:

$sudo DNF インストール tcpump

Tcpdump コマンドを使用してパケットをキャプチャする方法

ターミナルを起動し、sudo 権限で tcpdump を実行してパケットをキャプチャするには、「Ctrl Alt t」を押してターミナルを開きます。 tcpdump は、TCP/IP パケットをキャプチャするための多くのオプションとフィルターを提供する強力なツールです。現在またはデフォルトのネットワーク インターフェイス上のすべてのトラフィック パケットをキャプチャしたい場合は、追加のオプションなしで単純な「tcpdump」コマンドを使用するだけです。このようにして、ネットワーク トラフィックを監視し、パケットの内容と送信元を分析できます。 tcpdump を使用するときは、機密情報の漏洩やプライバシーの侵害を避けるために、キャプチャされたパケットを慎重に扱うようにしてください。

tcpdump

指定されたコマンドは、システムのデフォルトのネットワーク インターフェイスからパケットをキャプチャします。

このコマンドの実行が終了すると、キャプチャされフィルタリングされたすべてのパケット数が端末に表示されます。

出力を理解しましょう。

Tcpdump は、TCP/IP パケット ヘッダーの分析をサポートします。パケットごとに 1 行が表示され、「Ctrl C」を押して停止するまでコマンドは実行され続けます。

tcpdump によって提供される各行には、次の詳細が含まれます:

  • Unix タイムスタンプ (例: 02:28:57.839523)
  • スキーム (IP)
  • 送信元のホスト名またはIPとポート番号
  • ターゲットのホスト名またはIPとポート番号
  • TCP フラグ (フラグ [F.] など) は、S (SYN)、F (FIN)、. (ACK)、P (PUSH)、R (PUSH) を使用します。
  • パケット内のデータのシーケンス番号 (例: SEQ 5829:6820)
  • 確認応答番号 (例: (ACK 1016)
  • ウィンドウ サイズ (win 65535 など)。受信バッファー内の使用可能なバイトを示し、その後に TCP オプションが続きます。
  • データ ペイロードの長さ (たとえば、長さ 991)
  • システムのリストされたすべてのネットワーク インターフェイスを一覧表示するには、"-D" オプションを指定して "tcpump" コマンドを使用します。

$sudo tcpump-D

###または###

$tcpdump—リスト—中断

このコマンドは、Linux システムに接続されているか、Linux システム上で実行されているすべてのネットワーク インターフェイスを一覧表示します。

指定されたネットワーク インターフェイスのデータ パケットをキャプチャします

特定のインターフェイスを通過する TCP/IP パケットをキャプチャする場合は、「tcpdump」コマンドで「-i」フラグを使用し、ネットワーク インターフェイス名を指定します。 $sudo tcpdump—わかりました

指定されたコマンドは、「lo」インターフェイスでトラフィックをキャプチャします。パケットの詳細を表示したい場合は、「-v」フラグを使用します。より包括的な詳細を出力するには、「tcpdump」コマンドで「-vv」フラグを使用します。定期的な使用と分析は、強力で安全なネットワーク環境を維持するのに役立ちます。

同様に、次のコマンドを使用して、任意のインターフェイスのトラフィックをキャプチャできます:

$sudo tcpump -iany

特定のポートを使用してパケットをキャプチャする

インターフェイス名とポート番号を指定することで、パケットをキャプチャおよびフィルタリングできます。たとえば、ポート 22 を使用して「enp0s3」インターフェイスを通過するネットワーク パケットをキャプチャするには、次のコマンドを使用します。

$tcpdump—i enp0s3 ポート 22

前のコマンドは、「enp0s3」インターフェイスから流れるすべてのパケットをキャプチャします。

Tcpdump を使用して限られたパケットをキャプチャする

「-c」フラグと「tcpdump」コマンドを使用して、指定した数のパケットをキャプチャできます。たとえば、「enp0s3」インターフェイス上の 4 つのパケットをキャプチャするには、次のコマンドを使用します。

$tcpdump—i enp0s3—c 4

インターフェイス名をシステムの名前に置き換えます。

ネットワーク トラフィックをキャプチャするための便利な Tcpdump コマンド

以下に、ネットワーク トラフィックやパケットを効率的にキャプチャおよびフィルタリングするのに役立ついくつかの便利な「tcpump」コマンドをリストします。

「tcpump」コマンドを使用すると、定義された宛先 IP または送信元 IP を持つインターフェイスのパケットをキャプチャできます。

$tcpdump—i {インターフェイス—名前} dst {宛先—ip}

スナップショット サイズが 65535 バイトのパケットをキャプチャできます。これは、デフォルト サイズの 262144 バイトとは異なります。古いバージョンの tcpdump では、キャプチャ サイズは 68 バイトまたは 96 バイトに制限されていました。

$tcpdump—i enp0s3—s 65535

キャプチャしたパケットをファイルに保存する方法

キャプチャしたデータをさらに分析するためにファイルに保存したい場合は、そうすることができます。指定されたインターフェイスのトラフィックをキャプチャした場合は、それを「.pcap.」ファイルに保存します。次のコマンドを使用して、キャプチャしたデータをファイルに保存します:

$tcpdump—i—s 65535—w.pcap

たとえば、「enps03」インターフェイスがあります。このキャプチャしたデータを次のファイルに保存します:

$sudo tcpdump—i enps03—w dump.pcap

将来的には、Wireshark または他のネットワーク分析ツールを使用して、このキャプチャされたファイルを読み取ることができます。したがって、Wireshark を使用してパケットを分析する場合は、「-w」パラメータを使用して「.pcap」ファイルに保存します。

#########結論は#########

このチュートリアルでは、さまざまな例を通じて、tcpump を使用してパケットをキャプチャおよび分析する方法を示します。また、キャプチャしたトラフィックを「.pCap」ファイルに保存する方法も学習しました。このファイルは、Wireshark やその他のネットワーク分析ツールを使用して表示および分析できます。

以上がTcpdump がパケットをキャプチャして分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はmryunwei.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。