ubuntu預設是安裝好了tcpdump工具的,如果沒有安裝的話使用sudo apt-get install tcpdump即可安裝。
(如果遇到tcpdump: no suitable device found的問題,檢查一下是不是在用root許可權執行tcpdump,tcpdump只能在root許可權下工作)
安裝好tcpdump之後,執行tcpdump:
1. tcpdump -d 獲取網路介面卡列表
,以下是在ubuntu上獲取到的結果:
root@holmesian-laptop:~# tcpdump -d
1.eth0
2.wlan0
3.usbmon1 (usb bus number 1)
4.usbmon2 (usb bus number 2)
5.usbmon3 (usb bus number 3)
6.usbmon4 (usb bus number 4)
7.usbmon5 (usb bus number 5)
8.any (pseudo-device that captures on all inte***ces)
9.lo
2. tcpdump -i 《需要監控的網路介面卡編號》
,例如我想監控我的無線網絡卡wlan0,則使用tcpdump -i 2。
root@holmesian-laptop:~# tcpdump -i 2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type en10mb (ethernet), capture size 96 bytes
21:24:14.578430 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x78 > 00:1f:3a:18:fa:06 (oui unknown) unknown dsap 0xd8 information, send seq 0, rcv seq 16, flags [command], length 70
21:24:14.578447 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x78 > 00:1f:3a:18:fa:06 (oui unknown) unknown dsap 0xd8 information, send seq 0, rcv seq 16, flags [command], length 223
21:24:14.995603 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x20 > 78:dd:08:d1:b2:ca (oui unknown) unknown dsap 0x76 information, send seq 0, rcv seq 16, flags [command], length 70
21:24:15.019811 00:24:f9:05:78:00 (oui unknown) unknown ssap 0xa6 > 2c:81:58:ec:9c:54 (oui unknown) unknown dsap 0x0a information, send seq 0, rcv seq 16, flags [command], length 72
如果不使用-i來定義監控介面卡的話,預設使用列表中的第乙個;
3. 使用無線網絡卡wlan0監控ip位址為
172.16.86.111
上443埠的tcp協議
:tcpdump -i 2 host 172.16.86.111 and tcp port 443
4. 如果想要顯示資料報的內容,需要使用-x引數
,如,我想要顯示捕獲的https資料報http header的內容:
tcpdump -x -i 2 host 172.16.86.111 and tcp port 443
顯示結果如下:
可以看到該結果只顯示了https頭的一部分,沒有顯示全,是因為tcpdump預設將顯示的資料長度截斷了,可以使用-s後面加資料長度,來設定資料顯示長度:
tcpdump -x -s 0 -i 2 host 172.16.86.111 and tcp port 443
以上的例子中,-s 0 表示自動設定長度使其能夠顯示所有資料。
5. 捕獲的資料太多,不斷刷屏,可能需要將資料內容記錄到檔案裡,需要使用-w引數
:tcpdump -x -s 0 -w aaa host 192.9.200.59 and tcp port 8000
則將之前顯示在螢幕中的內容,寫入tcpdump可執行檔案同級目錄下的aaa檔案中。
檔案檢視方式如下,需要使用-r引數:
tcpdump -x -s 0 -i 2 -r holmesian host 172.16.86.111 and tcp port 443
如果這樣寫:
tcpdump -r holmesian
則只能看到最簡單的資料傳輸互動過程,看不到資料報內容,檢視時也需要使用相應的引數。
6.總結
總結一下,tcpdump的引數分兩個部分,選項(options)和表示式(expression):
root@holmesian-laptop:~# tcpdump -h
tcpdump version 4.0.0
libpcap version 1.0.0
usage: tcpdump [-aaddefikllnnopqrstuuvxx] [ -b size ] [ -c count ]
[ -c file_size ] [ -e algo:secret ] [ -f file ] [ -g seconds ]
[ -i inte***ce ] [ -m secret ] [ -r file ]
[ -s snaplen ] [ -t type ] [ -w file ] [ -w filecount ]
[ -y datalinktype ] [ -z command ] [ -z user ]
[ expression ]
Linux常用命令筆記整理之tcpdump
強大的抓包工具,博大精深內容太多,所以這篇部落格整理得只說常用,具體的參考tcpdump使用者手冊,tcpdump需要root許可權,所以記得加上sudo 注 上述的那個host可以省略 tcpdump支援如下的型別 1.host 指定主機名或ip位址,例如 host roclinux.cn 或 h...
利用yum安裝php lamp環境
今天用yum方法搭建起了個lamp環境,中間遇到了很多問題,經過google和各位前輩的幫助,終於將環境搭建起來,現在把完整的步驟記錄下來,2.用yum安裝apache,mysql,php.2.1安裝apache 安裝完成後,用 etc init.d httpd start 啟動apache 設為開...
利用anaconda進行環境配置
bash anaconda3 5.0.0 linux x86 64.sh一路回車,如果有需要回答的輸入yes就可以。在確認安裝位置時,可以修改,如果不修改就預設安裝到 root anaconda3目錄下,建議使用預設的安裝位置,並記住該位置,後續進行環境配置時會用到。下面就直接回車,開始安裝。安裝結...