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の遅いクエリ問題の詳細な分析データ送信

推薦する

Vueはタブルーティング切り替えコンポーネントのメソッド例を実装します

序文この記事では、vue に付属している vue-router.js ルーティングを使用してページン...

MySQLフィルタリングレプリケーションのアイデアの詳細な説明

目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...

yumコマンドの使い方

1. yumの紹介Yum (フルネームは Yellow dogUpdater、Modified) は...

ウェブデザインにおけるテキスト入力ボックスのパラメータの説明

<br />一般的なゲストブック、フォーラムなどでは、テキスト入力ボックスが使われていま...

SQL で行の最大値または最小値を取得する方法

元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...

nginx がアップストリーム アドレスにジャンプしない問題の解決方法

序文今日、nginx で非常に奇妙な問題に遭遇しました。フロントエンドの tomcat がページにジ...

優れた登録プロセスの手順

ウェブサイトにとって、これは最も基本的な機能です。それでは、登録プロセスに含まれる手順を見てみましょ...

Flexレイアウトとスケーリング計算についての簡単な説明

1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...

ReactにおけるuseRefの具体的な使い方

React の経験がある人なら、コンポーネントインスタンスオブジェクトや DOM オブジェクトを取得...

ウェブサイトを黒、白、グレーにする4つのコードの詳細な説明

2008年5月12日に四川省汶川市で発生した地震により、多くの命が失われ、遺憾なことと存じます。国務...

Mysql の mysql.user ユーザー テーブルの詳細な説明

MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...

HTML から PDF への変換事例の概要 (複数の画像を推奨)

仕事の都合上、最近 HTML を PDF に変換する機能について調べることに時間を費やしました。 H...

Linux周辺ファイルシステムのカスタマイズ方法

序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...

CentOS 7 で yum を使用して MySQL 5.7.20 をインストールする最も簡単な方法

CentOS7 のデフォルトのデータベースは mariadb ですが、mysql を使っている人も多...

vueプロジェクトは特定の領域に透かしを描くことを実現する

この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...