1. 程式人生 > >skyfans之每天一個Liunx命令系列之十四:tcpdump

skyfans之每天一個Liunx命令系列之十四:tcpdump

今天我們繼續來學習PERFORMANCE MONITORING AND STATISTICS(效能監測與統計),今天學習的是什麼命令呢,那就是tcpdump(獲取資料包資訊),通常我們運維人員稱之為抓包命令.

此命令是我們作為一個運維人員必須要知道並且會的命令。
Ready Go!!!

老規矩(注意:6版本和7版本的系統輸出的引數結果不一樣,這裡已7版本的系統進行講解)

tcp --help

在這裡插入圖片描述

引數解釋:
-c 在收集到指定的包的數目後,停止命令
-C用於判斷寫入檔案的大小是否超過某值,如果超過,就新建檔案,命名字尾以1,2,3等依次增加
-F 從指定的檔案中讀取指定內容,忽略其他的內容
-G 指定多少秒後停止抓包
-i 監聽主機上的該網絡卡上的資料流,如果沒有指定那塊網絡卡資訊,預設會使用編號最新的網絡卡號。
-r 從指定的檔案中讀取資料包
-s 指定抓包內容一行顯示的寬度
-T 將監聽到的包直接解釋為指定的報文內容
-w 直接將包寫入檔案中,不分析和列印內容
-y 資料鏈接型別
-Z 使tcpdump 放棄自己的超級許可權(如果以root使用者啟動tcpdump, tcpdump將會有超級使用者許可權), 並把當前tcpdump的使用者ID設定為user, 組ID設定為user首要所屬組的ID

由於引數過多,我們不一一講解,只講解部分常用的引數。

1.tcpdump -i eth0
捕獲並顯示介面eth0上的所有資料包,未加其他引數的情況下,命令重新整理的非常快,使用肉眼根本無法辨別。

tcpdump -i eth0

在這裡插入圖片描述

2.tcpdump -i eth0 'port 80’
捕獲並顯示介面eth0上的埠為80的所有資料包

tcpdump -i eth0 'port 80'

初始在訪問的時候,由於未進行頁面訪問,輸出內容僅有這些。在這裡插入圖片描述
好,我們來訪問伺服器上的80埠的頁面,我這裡部署的是一個Nignx服務。瀏覽器上輸入URL地址:
在這裡插入圖片描述
看看是不是輸出了更多抓取的資訊內容
在這裡插入圖片描述
3.tcpdump -C 200 -Z root -i eth0 -s 0 -vv -w /tcptest/test.pcap port 8080


使用root使用者進行網絡卡eth0上的內容抓取,埠為8080,預設大小指定200,超過後自動生成新的檔案存放抓取內容,並且顯示完整的抓包資訊內容

tcpdump -C 200 -Z root -i eth0 -s 0 -vv -w /tcptest/test.pcap port 8080

在這裡插入圖片描述
我們到指定路徑檢視,按照命令已經生成了檔案
在這裡插入圖片描述

把獲取的檔案存放好後,我們可以進行開啟檔案檢視內容,進行問題分析了。

好,今天的命令就講到這裡。