Tcpdump命令的使用
tcpdump 簡(jiǎn)單來(lái)說(shuō)就是一款抓包工具
一、概述
tcpdump提供了源代碼,公開(kāi)了接口,因此具備很強(qiáng)的可擴(kuò)展性,對(duì)于網(wǎng)絡(luò)維護(hù)和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系統(tǒng)中,由于它需要將網(wǎng)絡(luò)界面設(shè)置為混雜模式,普通用戶(hù)不能正常執(zhí)行,但具備root權(quán)限的用戶(hù)可以直接執(zhí)行它來(lái)獲取網(wǎng)絡(luò)上的信息。因此系統(tǒng)中存在網(wǎng)絡(luò)分析工具主要不是對(duì)本機(jī)安全的威脅,而是對(duì)網(wǎng)絡(luò)上的其他計(jì)算機(jī)的安全存在威脅。
不帶參數(shù)的tcpdump會(huì)收集網(wǎng)絡(luò)中所有的信息包頭,數(shù)據(jù)量巨大,必須過(guò)濾。
二、選項(xiàng)介紹
-A 以ASCII格式打印出所有分組,并將鏈路層的頭最小化。 -c 在收到指定的數(shù)量的分組后,tcpdump就會(huì)停止。 -C 在將一個(gè)原始分組寫(xiě)入文件之前,檢查文件當(dāng)前的大小是否超過(guò)了參數(shù)file_size 中指定的大小。如果超過(guò)了指定大小,則關(guān)閉當(dāng)前文件,然后在打開(kāi)一個(gè)新的文件。參數(shù) file_size 的單位是兆字節(jié)(是1,000,000字節(jié),而不是1,048,576字節(jié))。 -d 將匹配信息包的代碼以人們能夠理解的匯編格式給出。 -dd 將匹配信息包的代碼以c語(yǔ)言程序段的格式給出。 -ddd 將匹配信息包的代碼以十進(jìn)制的形式給出。 -D 打印出系統(tǒng)中所有可以用tcpdump截包的網(wǎng)絡(luò)接口。 -e 在輸出行打印出數(shù)據(jù)鏈路層的頭部信息。 -E 用spi@ipaddr algo:secret解密那些以addr作為地址,并且包含了安全參數(shù)索引值spi的IPsec ESP分組。 -f 將外部的Internet地址以數(shù)字的形式打印出來(lái)。 -F 從指定的文件中讀取表達(dá)式,忽略命令行中給出的表達(dá)式。 -i 指定監(jiān)聽(tīng)的網(wǎng)絡(luò)接口。 -l 使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形式,可以把數(shù)據(jù)導(dǎo)出到文件。 -L 列出網(wǎng)絡(luò)接口的已知數(shù)據(jù)鏈路。 -m 從文件module中導(dǎo)入SMI MIB模塊定義。該參數(shù)可以被使用多次,以導(dǎo)入多個(gè)MIB模塊。 -M 如果tcp報(bào)文中存在TCP-MD5選項(xiàng),則需要用secret作為共享的驗(yàn)證碼用于驗(yàn)證TCP-MD5選選項(xiàng)摘要(詳情可參考RFC 2385)。 -b 在數(shù)據(jù)-鏈路層上選擇協(xié)議,包括ip、arp、rarp、ipx都是這一層的。 -n 不把網(wǎng)絡(luò)地址轉(zhuǎn)換成名字。 -nn 不進(jìn)行端口名稱(chēng)的轉(zhuǎn)換。 -N 不輸出主機(jī)名中的域名部分。例如,‘nic.ddn.mil‘只輸出’nic‘。 -t 在輸出的每一行不打印時(shí)間戳。 -O 不運(yùn)行分組分組匹配(packet-matching)代碼優(yōu)化程序。 -P 不將網(wǎng)絡(luò)接口設(shè)置成混雜模式。 -q 快速輸出。只輸出較少的協(xié)議信息。 -r 從指定的文件中讀取包(這些包一般通過(guò)-w選項(xiàng)產(chǎn)生)。 -S 將tcp的序列號(hào)以絕對(duì)值形式輸出,而不是相對(duì)值。 -s 從每個(gè)分組中讀取最開(kāi)始的snaplen個(gè)字節(jié),而不是默認(rèn)的68個(gè)字節(jié)。 -T 將監(jiān)聽(tīng)到的包直接解釋為指定的類(lèi)型的報(bào)文,常見(jiàn)的類(lèi)型有rpc遠(yuǎn)程過(guò)程調(diào)用)和snmp(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議;)。 -t 不在每一行中輸出時(shí)間戳。 -tt 在每一行中輸出非格式化的時(shí)間戳。 -ttt 輸出本行和前面一行之間的時(shí)間差。 -tttt 在每一行中輸出由date處理的默認(rèn)格式的時(shí)間戳。 -u 輸出未解碼的NFS句柄。 -v 輸出一個(gè)稍微詳細(xì)的信息,例如在ip包中可以包括ttl和服務(wù)類(lèi)型的信息。 -vv 輸出詳細(xì)的報(bào)文信息。 -XX 顯示包的內(nèi)容 -w 直接將分組寫(xiě)入文件中,而不是不分析并打印出來(lái)。例子:
tcpdump -i eth0 'tcp[(tcp[12]>>2):4] = 0x47455420' -XX -tttt -n
-i eth0 指定監(jiān)聽(tīng)的eth0網(wǎng)絡(luò)接口
‘tcp[(tcp[12]>>2):4] = 0x47455420’ 過(guò)濾http 接口
-XX 顯示詳細(xì)信息
-tttt 時(shí)間格式化
-n 讓機(jī)器名稱(chēng)改為端口名稱(chēng)
-i eth0 指定監(jiān)聽(tīng)的eth0網(wǎng)絡(luò)接口
udp 控制使用udp協(xié)議
port 對(duì)端口123的過(guò)濾
-XX 顯示詳細(xì)信息
基本語(yǔ)法
1.1、過(guò)濾主機(jī),端口,網(wǎng)絡(luò),協(xié)議過(guò)濾
#抓取所有經(jīng)過(guò)eth0,目的或源地址是11.15.63.151的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 host 1.15.63.151#抓取所有經(jīng)過(guò)eth0,源地址是11.15.63.151的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 src host 1.15.63.151#抓取所有經(jīng)過(guò)eth0,目的地址是11.15.63.151的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 dst host 1.15.63.151#抓取所有經(jīng)過(guò)eth0,目的或源端口是80的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 port 80#抓取所有經(jīng)過(guò)eth0,源端口是80的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 src port 80#抓取所有經(jīng)過(guò)eth0,目的地址是80的網(wǎng)絡(luò)數(shù)據(jù) tcpdump -i eth0 dst port 80#抓取所有經(jīng)過(guò)eth0,網(wǎng)絡(luò)為 1.15.63 tcpdump -i eth0 net 1.15.63 tcpdump -i eth0 src net 1.15.63 tcpdump -i eth0 dst net 1.15.63#抓取所有經(jīng)過(guò)eth0,協(xié)議為tcp/udp tcpdump -i eth0 tcp tcpdump -i eth0 udp1.2 基本語(yǔ)法
非 : ! or “not” (去掉雙引號(hào))
且 : && or “and”
或 : || or “or”
1.3 經(jīng)常用的抓包語(yǔ)句
1、抓包大于200
tcpdump -i eth0 'ip[2:2] > 200'2、抓取ssh 包
tcpdump -i eth0 'tcp[(tcp[12]>>2):4] = 0x5353482D'3、抓SYN, ACK(可以用來(lái)查看http三次握手)
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'4、抓HTTP GET數(shù)據(jù)
tcpdump -i eth0 'tcp[(tcp[12]>>2):4] = 0x47455420'5、抓DNS 的包
tcpdump -i eth0 udp port 535、抓ntp 的包
tcpdump -i eth0 udp port 123總結(jié)
以上是生活随笔為你收集整理的Tcpdump命令的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2023新疆师范大学计算机考研信息汇总
- 下一篇: 以数据智能科技助力智慧法治建设,北大软件