tcpdump命令的使用方法
tcpdump命令的使用方法
在Linux的命令行里邊我們需要借助tcpdump命令進行抓包,下面小編與大家分享一下tcpdump命令的使用方法,希望對大家有所幫助
tcpdump命令的使用方法
實用命令實例
默認啟動
tcpdump
普通情況下,直接啟動tcpdump將監(jiān)視第一個網(wǎng)絡(luò)接口上所有流過的數(shù)據(jù)包。
監(jiān)視指定網(wǎng)絡(luò)接口的數(shù)據(jù)包
tcpdump -i eth1
如果不指定網(wǎng)卡,默認tcpdump只會監(jiān)視第一個網(wǎng)絡(luò)接口,一般是eth0,下面的例子都沒有指定網(wǎng)絡(luò)接口。
監(jiān)視指定主機的數(shù)據(jù)包
打印所有進入或離開sundown的數(shù)據(jù)包.
tcpdump host sundown
也可以指定ip,例如截獲所有210.27.48.1 的主機收到的和發(fā)出的所有的數(shù)據(jù)包
tcpdump host 210.27.48.1
打印helios 與 hot 或者與 ace 之間通信的數(shù)據(jù)包
tcpdump host helios and \( hot or ace \)
截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)
打印ace與任何其他主機之間通信的IP 數(shù)據(jù)包, 但不包括與helios之間的數(shù)據(jù)包.
tcpdump ip host ace and not helios
如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:
tcpdump ip host 210.27.48.1 and ! 210.27.48.2
截獲主機hostname發(fā)送的所有數(shù)據(jù)
tcpdump -i eth0 src host hostname
監(jiān)視所有送到主機hostname的數(shù)據(jù)包
tcpdump -i eth0 dst host hostname
監(jiān)視指定主機和端口的數(shù)據(jù)包
如果想要獲取主機210.27.48.1接收或發(fā)出的telnet包,使用如下命令
tcpdump tcp port 23 and host 210.27.48.1
對本機的udp 123 端口進行監(jiān)視 123 為ntp的服務(wù)端口
tcpdump udp port 123
監(jiān)視指定網(wǎng)絡(luò)的數(shù)據(jù)包
打印本地主機與Berkeley網(wǎng)絡(luò)上的主機之間的所有通信數(shù)據(jù)包(nt: ucb-ether, 此處可理解為'Berkeley網(wǎng)絡(luò)'的網(wǎng)絡(luò)地址,此表達式最原始的含義可表達為: 打印網(wǎng)絡(luò)地址為ucb-ether的所有數(shù)據(jù)包)
tcpdump net ucb-ether
打印所有通過網(wǎng)關(guān)snup的ftp數(shù)據(jù)包(注意, 表達式被單引號括起來了, 這可以防止shell對其中的括號進行錯誤解析)
tcpdump 'gateway snup and (port ftp or ftp-data)'
打印所有源地址或目標地址是本地主機的IP數(shù)據(jù)包
(如果本地網(wǎng)絡(luò)通過網(wǎng)關(guān)連到了另一網(wǎng)絡(luò), 則另一網(wǎng)絡(luò)并不能算作本地網(wǎng)絡(luò).(nt: 此句翻譯曲折,需補充).localnet 實際使用時要真正替換成本地網(wǎng)絡(luò)的名字)
tcpdump ip and not net localnet