日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS tcpdump的使用实例

發(fā)布時間:2025/5/22 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS tcpdump的使用实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

tcpdump是一個用于截取網(wǎng)絡(luò)分組,并輸出分組內(nèi)容的工具。tcpdump憑借強大的功能和靈活的截取策略,使其成為類UNIX系統(tǒng)下用于網(wǎng)絡(luò)分析和問題排查的首選工具。?

選項:

-A 以ASCII格式打印出所有分組,并將鏈路層的頭最小化。?
-c 在收到指定的數(shù)量的分組后,tcpdump就會停止。?
-C 在將一個原始分組寫入文件之前,檢查文件當(dāng)前的大小是否超過了參數(shù)file_size 中指定的大小。如果超過了指定大小,則關(guān)閉當(dāng)前文件,然后在打開一個新的文件。參數(shù) file_size 的單位是兆字節(jié)(是1,000,000字節(jié),而不是1,048,576字節(jié))。?
-d 將匹配信息包的代碼以人們能夠理解的匯編格式給出。?
-dd 將匹配信息包的代碼以c語言程序段的格式給出。?
-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ù)字的形式打印出來。?
-F 從指定的文件中讀取表達(dá)式,忽略命令行中給出的表達(dá)式。?
-i 指定監(jiān)聽的網(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)入多個MIB模塊。?
-M 如果tcp報文中存在TCP-MD5選項,則需要用secret作為共享的驗證碼用于驗證TCP-MD5選選項摘要(詳情可參考RFC 2385)。?
-b 在數(shù)據(jù)-鏈路層上選擇協(xié)議,包括ip、arp、rarp、ipx都是這一層的。
-n 不把網(wǎng)絡(luò)地址轉(zhuǎn)換成名字。
-nn 不進(jìn)行端口名稱的轉(zhuǎn)換。
-N 不輸出主機名中的域名部分。例如,‘nic.ddn.mil‘只輸出’nic‘。?
-t 在輸出的每一行不打印時間戳。?
-O 不運行分組分組匹配(packet-matching)代碼優(yōu)化程序。?
-P 不將網(wǎng)絡(luò)接口設(shè)置成混雜模式。?
-q 快速輸出。只輸出較少的協(xié)議信息。?
-r 從指定的文件中讀取包(這些包一般通過-w選項產(chǎn)生)。?
-S 將tcp的序列號以絕對值形式輸出,而不是相對值。?
-s 從每個分組中讀取最開始的snaplen個字節(jié),而不是默認(rèn)的68個字節(jié)。?
-T 將監(jiān)聽到的包直接解釋為指定的類型的報文,常見的類型有rpc遠(yuǎn)程過程調(diào)用)和snmp(簡單網(wǎng)絡(luò)管理協(xié)議;)。?
-t 不在每一行中輸出時間戳。?
-tt 在每一行中輸出非格式化的時間戳。?
-ttt 輸出本行和前面一行之間的時間差。?
-tttt 在每一行中輸出由date處理的默認(rèn)格式的時間戳。?
-u 輸出未解碼的NFS句柄。?
-v 輸出一個稍微詳細(xì)的信息,例如在ip包中可以包括ttl和服務(wù)類型的信息。?
-vv 輸出詳細(xì)的報文信息。?
-w 直接將分組寫入文件中,而不是不分析并打印出來。

?

實例:

1.過濾主機

- 抓取所有經(jīng)過 eth1,目的或源地址是 192.168.1.1 的網(wǎng)絡(luò)數(shù)據(jù)
# tcpdump -i eth1 host 192.168.1.1

- 源地址
# tcpdump -i eth1 src host 192.168.1.1

- 目的地址
# tcpdump -i eth1 dst host 192.168.1.1


2.過濾端口

- 抓取所有經(jīng)過 eth1,目的或源端口是 25 的網(wǎng)絡(luò)數(shù)據(jù)
# tcpdump -i eth1 port 25

- 源端口
# tcpdump -i eth1 src port 25

- 目的端口
# tcpdump -i eth1 dst port 25網(wǎng)絡(luò)過濾

?

3.過濾網(wǎng)段

# tcpdump -i eth1 net 192.168
# tcpdump -i eth1 src net 192.168
# tcpdump -i eth1 dst net 192.168

可以加入-X參數(shù),查看包內(nèi)容


4.協(xié)議過濾

# tcpdump -i eth1 arp
# tcpdump -i eth1 ip
# tcpdump -i eth1 tcp
# tcpdump -i eth1 udp
# tcpdump -i eth1 icmp


5.常用表達(dá)式

非 : ! or "not" (去掉雙引號)
且 : && or "and"
或 : || or "or"

- 抓取所有經(jīng)過 eth1,目的地址是 192.168.1.254 或 192.168.1.200 端口是 80 的 TCP 數(shù)據(jù)
# tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host
192.168.1.200)))'

- 抓取所有經(jīng)過 eth1,目標(biāo) MAC 地址是 00:01:02:03:04:05 的 ICMP 數(shù)據(jù)
# tcpdump -i eth1 '((icmp) and ((ether dst host 00:01:02:03:04:05)))'

- 抓取所有經(jīng)過 eth1,目的網(wǎng)絡(luò)是 192.168,但目的主機不是 192.168.1.200 的 TCP 數(shù)據(jù)

# tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'

- 只抓 SYN 包
# tcpdump -i eth1 'tcp[tcpflags] = tcp-syn'

- 抓 SYN, ACK
# tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'

抓 SMTP 數(shù)據(jù)
# tcpdump -i eth1 '((port 25) and (tcp[(tcp[12]>>2):4] = 0x4d41494c))'

抓取數(shù)據(jù)區(qū)開始為"MAIL"的包,"MAIL"的十六進(jìn)制為 0x4d41494c。

抓 HTTP GET 數(shù)據(jù)
--------------
# tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
"GET "的十六進(jìn)制是 47455420
抓 SSH 返回
---------
# tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
"SSH-"的十六進(jìn)制是 0x5353482D


# tcpdump -i eth1 '(tcp[(tcp[12]>>2):4] = 0x5353482D) and (tcp[((tcp[12]>>2)+4):2]
= 0x312E)'抓老版本的 SSH 返回信息,如"SSH-1.99.."

?

- 抓 DNS 請求數(shù)據(jù)
# tcpdump -i eth1 udp dst port 53
其他
----
-c 參數(shù)對于運維人員來說也比較常用,因為流量比較大的服務(wù)器,靠人工 CTRL+C 還是
抓的太多,于是可以用-c 參數(shù)指定抓多少個包。
# time tcpdump -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10000 > /dev/null
上面的命令計算抓 10000 個 SYN 包花費多少時間,可以判斷訪問量大概是多少。

?

實時抓取端口號8000的GET包,然后寫入GET.pcap

tcpdump -i eth0 '((port 8000) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.pcap

?

參考 https://www.cnblogs.com/qiumingcheng/p/8075283.html

轉(zhuǎn)載于:https://www.cnblogs.com/heqiuyong/p/11158591.html

總結(jié)

以上是生活随笔為你收集整理的CentOS tcpdump的使用实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。