Linux下tcpdump利用端口和ip抓包方式

今天剛接觸抓包,總結一下,以免忘記

tcpdump命令選項:

-a #將網絡地址和廣播地址轉變成名字
-A #以ASCII格式打印出所有分組,並將鏈路層的頭最小化
-b #數據鏈路層上選擇協議,包括ip/arp/rarp/ipx都在這一層
-c #指定收取數據包的次數,即在收到指定數量的數據包後退出tcpdump
-d #將匹配信息包的代碼以人們能夠理解的彙編格式輸出
-dd #將匹配信息包的代碼以c語言程序段的格式輸出
-ddd #將匹配信息包的代碼以十進制的形式輸出
-D #打印系統中所有可以監控的網絡接口
-e #在輸出行打印出數據鏈路層的頭部信息
-f #將外部的Internet地址以數字的形式打印出來,即不顯示主機名
-F #從指定的文件中讀取表達式,忽略其他的表達式
-i #指定監聽網絡接口
-l #使標準輸出變爲緩衝形式,可以數據導出到文件
-L #列出網絡接口已知的數據鏈路
-n #不把網絡地址轉換爲名字
-N 不輸出主機名中的域名部分,例如www.baidu.com只輸出www
-nn #不進行端口名稱的轉換
-P #不將網絡接口設置爲混雜模式
-q #快速輸出,即只輸出較少的協議信息
-r #從指定的文件中讀取數據,一般是-w保存的文件
-w #將捕獲到的信息保存到文件中,且不分析和打印在屏幕
-s #從每個組中讀取在開始的snaplen個字節,而不是默認的68個字節
-S #將tcp的序列號以絕對值形式輸出,而不是相對值
-T #將監聽到的包直接解析爲指定的類型的報文,常見的類型有rpc(遠程過程調用)和snmp(簡單網絡管理協議)
-t #在輸出的每一行不打印時間戳
-tt #在每一行中輸出非格式化的時間戳
-ttt #輸出本行和前面以後之間的時間差
-tttt #在每一行中輸出data處理的默認格式的時間戳
-u #輸出未解碼的NFS句柄
-v #輸出稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息
-vv#輸出相信的保報文信息

我用的方式是在Linux下抓包然後放入文件中,利用wireshark來解析

端口抓包:
tcpdump -i eth0 port xxxx -s 0 -w xxx.cap -v
ip地址抓包:
tcpdump -i eth0 host xxx.xxx.xxx.xxx -s 0 -w xxx.cap -v

eth0是網卡,如果是幾個模塊在同一服務器上,可以直接用lo,保存在cap文件裏面

將Linux文件放到Windows下,用wireshark打開,可以用右鍵追蹤流來查看具體內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章