Linux tcpdump パケット キャプチャ コマンド

1.tcpdumpパケットキャプチャコマンド

-c  指定抓取包的数量,即最后显示的数量
-i  指定tcpdump监听的端口。未指定,选择系统中最小的以配置端口。
     -i any:监听所有网络端口    -i lo:监听lookback接口。

-nn 对监听地址以数字方式呈现,且对端口也以数字方式呈现。如果不指定 ,地址以主机名方式呈现,端口以服务名方式呈现
-P  指定要抓取的包是流入还是流出 (in out inout[默认])
-s  设置tcpdump的数据包抓取长度,默认为65535字节。
-e  输出的每行都包含数据链路层的头部信息。
-D  列出所有可以用于抓包的表达式。
-X  显示协议头和包的全部内容。
-F  从文件中读取抓包的表达式。

2. 使い方は10分に1回握るだけ

tcpdump -i eth0 -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap 

tcpdump は、ネットワーク上のデータ パケットをインターセプトするパケット分析ツールです。ネットワーク層、プロトコル、ホスト、ネットワークまたはポートのフィルタリングをサポートし、無駄な情報を削除するために and、or、not などの論理ステートメントを提供します。

2.1 指定したホストのデータ パケットを監視する

tcpdump host <IP地址>: この IP のホストによって送受信されるすべてのデータ パケットを傍受します
tcpdump host <IP地址> and <IP地址>。 : この IP に対応する 2 つのホスト間の通信を傍受します。

2.2 指定したポートのデータパケットを監視する

tcpdump port <端口号>: このマシンのポート 80 からのデータ パケットを傍受します。

2.3 パケットキャプチャとハンドシェイクプロセスの分析

パケット キャプチャ方法: まず、tcpdump コマンドを使用してローカル マシンとリモート ホスト間のデータ パケットをインターセプトし、次にリモート ホストに対応する Web サイトを開きます。ここではテスト用にドメイン名を使用しますwww.fonxian.cn

www.baidu.com にピングしてください

ドメイン名に対応する IP を取得します: 81.15.19.12

ifconfg

ローカル イントラネット IP を取得します。104.128.10.244

-S パラメータの目的は、ack の絶対値を取得することです。このパラメータがないと、3 回目のハンドシェイクの ack は相対値 1 になります。

sudo tcpdump -S host 192.168.0.108 and 131.101.100.11

下の写真を入手してください

で 

1 S は SYN を意味し、クライアントがリクエストを開始する準備をしていることを示します
2 クライアントは seq=3481431827 を送信しました
3 は、サーバーがクライアントのリクエストを受信し、クライアントに ack=34814318278 を送信したことを意味しますSYN=421177755.
4 は、クライアントがサーバーの接続の同意を受け入れたことを意味します。要求は確認情報を送信します ack=421177756 5
P はデータ送信ステータスを示します
6 F は接続の切断が開始されたことを示します
7 はクライアントが切断要求シーケンスを積極的に開始したことを示します=3481432002、ack=421180537
8 サーバーが確認要求を開始する ack=3481432003
9 は、サーバーが切断要求を開始することを意味します seq=421180537、ack=3481432003
10 は、クライアントがサーバーによって送信された切断要求を受信し、確認情報 ack を送信することを意味します=421180538

おすすめ

転載: blog.csdn.net/zy08403/article/details/132853638
おすすめ