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

推薦する

Alibaba Cloud Server ドメイン名解決手順 (初心者向けチュートリアル)

ウェブサイトの構築を始めたばかりの初心者には、理解し、学ぶべきことがたくさんあります。ウェブサイトを...

MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

目次序文1. 概要2. 読み取りと書き込みの分離3. MySQL マスタースレーブレプリケーションの...

JavaScript の Set データ構造の詳細な説明

目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

今日と昨日の 0:00 タイムスタンプを取得する MySQL の例

以下のように表示されます。昨日: UNIX_TIMESTAMP(CAST(SYSDATE() AS ...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

Vue プロジェクトのパッケージ化、マージ、圧縮により、Web ページの応答速度を最適化します。

目次序文1. リクエスト内容が大きすぎる解決: CDN の紹介リクエストリソースを圧縮する1. HT...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

VMware インストール エラー VMware Workstation が VMware 認証サービスを開始できませんでした

背景: SAP ECC サーバーをインストールし、XP をプレインストールしたいと考えています。XP...

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

Vue プロジェクトで SVG コンポーネントをパッケージ化して構成する手順

最近新しい会社に入社しました。プロジェクトに携わった後、タイトルアイコンが svg で作られていると...

Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除

1: Dockerプライベートウェアハウスのインストール1. イメージリポジトリからイメージをダウン...

CentOS8.0ネットワーク設定の実装

1. CentOS 7 と CentOS 8 のネットワーク構成の違い: VMware Workst...

ReactでuseStateを使用する詳細な例

使用状態useState は、関数コンポーネント内で呼び出すことで、コンポーネントに内部状態を追加し...

mysql 簡単な操作例を表示

この記事では、例を挙げて mysql show 操作について説明します。ご参考までに、詳細は以下の通...