Linux システムで tcpdump を使用してパケットをキャプチャする方法

Linux システムで tcpdump を使用してパケットをキャプチャする方法

まずサンプルコードを見てみましょう:

1. 共通パラメータ tcpdump -i eth0 -nn -s0 -v port 80

-i 監視するネットワーク カードを選択します -nn ホスト名とポート番号を解決しません。大量のデータをキャプチャします。名前解決により、解決が遅くなります -s0 キャプチャの長さは無制限です -v 出力ポートに表示される詳細情報の量を増やします 80 ポート フィルター。ポート 80 のトラフィックのみをキャプチャします (通常は HTTP)

2.

tcpdump -A -s0 ポート80

-A は ASCII データを出力します -X は 16 進データと ASCII データ 3 を出力します。

tcpdump -i eth0 udp

udpフィルタ、udpデータのみをキャプチャします。プロトコル17プロトコル17はudpと同等です。

proto 6はtcpと同等です

4.

tcpdump -i eth0 ホスト 10.10.1.1

ホスト フィルター、IP アドレス 5 に基づくフィルタリング。

tcpdump -i eth0 送信先 10.105.38.204

dst フィルター、宛先 IP に基づくフィルター、src フィルター、送信元 IP 6 に基づくフィルター。

tcpdump -i eth0 -s0 -w テスト.pcap

-w は、Wireshark7 で分析できるファイルに書き込みます。

tcpdump -i eth0 -s0 -l ポート 80 | grep 'サーバー:'

-lはgrepなどのパイプラインコマンドで使用されます。

8.

組み合わせフィルタリング and or &&

または または ||

またはではありません!

9.

HTTP UAを素早く抽出

tcpdump -nn -A -s1500 -l | grep "ユーザーエージェント:"

egrepを使用してUAとホストを一致させる

tcpdump -nn -A -s1500 -l | egrep -i 'ユーザーエージェント:|ホスト:'

10.

GETパケットを一致させる tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

POST パケットに一致します。パケットに POST データが含まれていない可能性があります。tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'

11.

HTTP リクエスト ヘッダーを一致させる tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"

いくつかの POST データと一致 tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:"

いくつかのクッキー情報を一致させる tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:'

12.

DNSリクエストと応答をキャプチャする tcpdump -i eth0 -s0 port 53

13.

tcpdump を使用してキャプチャし、Wireshark で表示します。ssh を使用してサーバーにリモート接続し、tcpdump コマンドを実行して、ローカルの wireshark で分析します。ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i -

ssh [email protected] 'sudo tcpdump -s0 -c 1000 -nn -w - ポート22以外' | wireshark -k -i -

14.

シェルを使用して、最も高い IP 番号を取得します: tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20

15. DHCP要求と応答をキャプチャする tcpdump -v -n ポート67または68 

以下もご興味があるかもしれません:
  • Linux での tcpdump コマンド例の詳細な説明
  • Linux コマンドラインでパケットをキャプチャするために tcpdump を使用するいくつかの機能
  • Linux で tcpdump コマンドを使用してデータ パケットをキャプチャおよび分析する方法の詳細な説明
  • tcpdump を使用してパケットをキャプチャする Linux の基本学習のサンプル コード
  • Linux での tcpdump コマンド例の詳細な説明
  • Linux で tcpdump を使用してパケットをキャプチャする方法
  • Linux で tcpdump コマンドを使用して特定のネットワーク データ パケットを監視する方法
  • Linux tcpdump コマンドの使用法の詳細な分析
  • Linux tcpdump操作コマンドの詳細な説明
  • Linux での tcpdump コマンドの詳細な分析と使用方法

<<:  ネイティブ js で呼び出し、適用、バインドを実装する方法

>>:  MySQLの遅いクエリ問題の詳細な分析データ送信

推薦する

JavaScriptオブジェクト指向について学ぼう

目次JavaScript プロトタイプチェーンオブジェクトプロトタイプトップレベルのプロトタイプOb...

モバイルの赤い封筒の雨機能ページを実装するための JavaScript HTML

この記事の例では、モバイル紅包雨機能ページを実現するためのHTMLの具体的なコードを共有しています。...

DockerでKafkaをデプロイする方法

目次1. Dockerをビルドする2. コンテナに入る3. 設定ファイルを変更する4. Kafkaを...

docker-compose ネットワーク設定についての簡単な説明

ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...

MySQL 自動インクリメント ID 枯渇の例

ディスプレイ定義IDテーブルに定義された自動増分IDが上限に達した場合、次のIDを申請する際に得られ...

WeChatアプレットのスクロールビューの改行問題を解決する

今日、小さなプログラムを書いていたときに、スクロールビューを使用したのですが、スクロールビュー内のテ...

Win2008 R2 mysql 5.5 zip 形式 mysql のインストールと設定

Win2008 R2 zip形式のMySQLのインストールと設定1. Baidu MySQL 5.6...

Flex プログラム Firefox で中国語を入力すると文字化けするバグ

Firefox の下位バージョンでは中国語の文字を入力できず、上位バージョンでは文字化けした文字が表...

Docker ファイルの保存パス、ポート マッピング操作モードの変更

コンテナの起動コマンドを取得する方法コンテナはすでに作成されていますが、その起動パラメータ(データが...

64 ビット CentOs7 ソース コードのインストール mysql-5.6.35 プロセス共有

インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [root...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

Dockerコンテナを終了した後も実行を継続する方法

現象:イメージを実行します (例: ubuntu14.04)。 docker run -it --r...

MYSQL フルバックアップ、マスタースレーブレプリケーション、カスケードレプリケーション、および半同期の概要

MySQL フルバックアップ1. バイナリログを有効にし、データベースから分離して別々に保存する v...

WMLとは何ですか?

WML (ワイヤレス マークアップ言語)。これは HTML から派生したマークアップ言語ですが、W...

MySQL トリガー: 複数のトリガー操作の作成例の分析

この記事では、例を使用して、MySQL で複数のトリガー操作を作成する方法について説明します。ご参考...