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