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

推薦する

Linuxでポートが開いているかどうかを確認する方法のまとめ

方法1: lsofコマンドを使用するlsof コマンドを使用して、ポートが開いているかどうかを確認で...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...

MySQL チュートリアル データ定義言語 DDL の例 詳細な説明

目次1. SQL言語の基本機能の紹介2. データ定義言語の目的3. データベースの作成と破棄4. デ...

MySQL NULLがピットを引き起こした

比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...

WebページでjQueryを参照する方法

CDN(コンテンツ配信ネットワーク)を通じて参照できます。 jQuery は Google と Mi...

記事では、js を使用して弾幕効果を実現する方法を説明します

目次新しい HTML ファイルを作成します。初期テンプレートを作成するHTML の追加CSS パディ...

Vue でスクロールバーのスタイルを変更する方法

目次まず、スクロール バーのスタイルを変更するには、疑似要素-webkit-scrollbarを使用...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

MySQL データベース接続例外の概要 (収集する価値あり)

Centos にプロジェクトをデプロイするときに奇妙な問題が見つかりました。データベース接続で例外...

アニメーションの再生と一時停止を制御するための CSS のヒント (非常に実用的)

今日は、CSS を使用してアニメーションの再生と一時停止を制御する非常に簡単なトリックを紹介します。...

複数の例で HTML フォームを使用する方法

参考までに、HTMLフォームの使い方を9つの簡単な例で分析します。具体的な内容は次のとおりです。 1...

Linux で ffmpeg をインストールするための詳細なチュートリアル

1. CentOS Linuxにffmpegをインストールする1.ダウンロードして解凍する http...

MySQL で 1000 万件のレコードをすばやくクエリする方法

目次通常のページングクエリ最適化する方法大きなオフセット使用ID制限大量データ問題の最適化通常のペー...

MySQLのスペースをクリーンアップするいくつかの具体的な方法

目次序文1. ファイルのディスク使用量を確認する1.1 ディスク容量の使用状況を確認する1.2 ディ...

Vue ルーティングフォールバックに最適なソリューション (vue-route-manager)

目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...