軟件調試筆記之tcpdump工具

默認啓動

    tcpdump

普通情況下,直接啓動tcpdump將監視第一個網絡接口上所有流過的數據包。

指定網絡接口的數據包

    tcpdump -i eth1

如果不指定網卡,默認tcpdump只會監視第一個網絡接口,一般是eth0。使用-i選項,用於指定要監聽的網絡接口

指定網絡接口的數據包,並寫到文件中保存

    tcpdump -i eth1 -w ./tcpdump_data.cap

使用-w選項,用於指定保存監聽的網絡接口流過的數據包保存的路徑

 

指定網絡接口,主機和端口號的網絡的數據包並保存

    tcpdump -i eth1 host 192.168.52.102 and port 80 -w ./tcpdump_data.cap

 

監視指定協議類型,主機和端口的數據包

如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令

    tcpdump tcp port 23 and host 210.27.48.1

對本機的udp 123 端口進行監視 123 ntp的服務端口

    tcpdump udp port 123 

 

tcpdump 與wireshark

Wireshark(以前是ethereal)是Windows下非常簡單易用的抓包工具。但在Linux下很難找到一個好用的圖形化抓包工具。
還好有Tcpdump。我們可以用Tcpdump + Wireshark 的完美組合實現:在 Linux 裏抓包,然後在Windows 裏分析包。

    tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型
(2)-i eth1 : 只抓經過接口eth1的包
(3)-t : 不顯示時間戳
(4)-s 0 : 抓取數據包時默認抓取長度爲68字節。加上-S 0 後可以抓到完整的數據包
(5)-c 100 : 只抓取100個數據包
(6)dst port ! 22 : 不抓取目標端口是22的數據包
(7)src net 192.168.1.0/24 : 數據包的源網絡地址爲192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

參考鏈接:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

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