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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中tcpdump命令

發布時間:2023/12/31 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中tcpdump命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、介紹
tcpdump是一款linux平臺的抓包工具。可以抓取涵蓋整個Tcp/IP協議族的數據包,支持針對對網絡層、協議、主機、端口的過濾,并提供and、or、not等邏輯語句來過濾無用的信息。
二、參數

-A 只使用 ASCII 打印報文的全部數據,不要和 -X 一起使用,獲取 http 可以用 tcpdump-nSA port80-b 在數據鏈路層上選擇協議,包括 ip, arp, rarp, ipx 等-c 指定要抓取包的數量-D 列出操作系統所有可以用于抓包的接口-i 指定監聽的網卡, -i any 顯示所有網卡-n 表示不解析主機名,直接用 IP 顯示,默認是用 hostname 顯示-nn 表示不解析主機名和端口,直接用端口號顯示,默認顯示是端口號對應的服務名-p 關閉接口的混雜模式-P 指定抓取的包是流入的包還是流出的,可以指定參數 in, out, inout 等,默認是 inout-q 快速打印輸出,即只輸出少量的協議相關信息-s len 設置要抓取數據包長度為 len,默認只會截取前 96bytes 的內容, -s0 的話,會截取全部內容。-S 將 TCP 的序列號以絕對值形式輸出,而不是相對值-t 不要打印時間戳-vv 輸出詳細信息(比如 tos、ttl、checksum等)-X 同時用 hex 和 ascii 顯示報文內容-XX 同 -X,但同時顯示以太網頭部

三、過濾器
網絡報文是很多的,很多時候我們在主機上抓包,會抓到很多我們并不關心的無用包,然后要從這些包里面去找我們需要的信息,無疑是一件費時費力的事情,tcpdump 提供了靈活的語法可以精確獲取我們關心的數據,這些語法說得專業點就是過濾器。

過濾器簡單可分為三類:協議(proto)、傳輸方向(dir)和類型(type)。
四、操作
測試環境 IP:192.168.200.100
4.1 抓取某主機的數據包
抓取主機 192.168.200.100上所有收到(DST_IP)和發出(SRC_IP)的所有數據包

tcpdump host 192.168.200.100

抓取經過指定網口 interface ,并且 DST_IP 或 SRC_IP 是 172.18.82.173 的數據包

tcpdump -i eth0 host 192.168.200.100

篩選 SRC_IP,抓取經過 interface 且從 192.168.200.100發出的包

tcpdump -i eth0 src host 192.168.200.100

篩選 DST_IP,抓取經過 interface 且發送到 192.168.200.100 的包

tcpdump -i eth0 dst host 192.168.200.100

抓取主機 192.168.200.101 和主機 192.168.200.102 或 192.168.200.103 通信的包

tcpdump host 192.168.200.101 and \(192.168.200.102 or 192.168.200.103\ )

4.2 抓取某端口的數據包
抓取所有端口,顯示 IP 地址

tcpdump -nS

抓取某端口上的包

tcpdump port 22

抓取經過指定 interface,并且 DST_PORT 或 SRC_PORT 是 22 的數據包

tcpdump -i eth0 port 22

查看發送到 host 192.168.200.100 的網口 eth0 的 22 號端口的包

tcpdump -i eth0 -nnt dst host 192.168.200.100 and port 22 -c 1 -vv

4.3 抓取某網絡(網段)的數據包
抓取經過指定 interface,并且 DST_NET 或 SRC_NET 是 192.168.200的包

tcpdump -i eth0 -net 192.168.200

4.4 抓取某協議的數據包

tcpdump -i eth0 icmp tcpdump -i eth0 ip tcpdump -i eth0 tcp tcpdump -i eth0 udp tcpdump -i eth0 arp

4.5 復雜的邏輯表達式抓取過濾條件

  • 抓取經過 interface eth0 發送到 host 200.200.200.1 或 200.200.200.2 的 TCP 協議 22 號端口的數據包
  • tcpdump -i eth0 -nntvv -c 10 '((tcp) and (port 22) and ((dst host 200.200.200.1) or (dst host 200.200.200.2)))'
  • 抓取經過 interface eth0, DST_MAC 或 SRC_MAC 地址是 00:16:3e:12:16:e7 的 ICMP 數據包
  • tcpdump -i eth0 '((icmp) and ((ether host 00:16:3e:12:16:e7)))' -nnvv`
  • 抓取經過 interface eth0,目標網絡是 192.168 但目標主機又不是 192.168.200.100 的 TCP 且非 22 號端口號的數據包
  • tcpdump -i eth0 -nntvv '((dst net 192.168) and (not dst host 192.168.200.100) and (tcp) and (not port 22))'
  • 抓取流入 interface eth0,host 為 192.168.200.100且協議為 ICMP 的數據包
  • tcpdump -i eth0 -nntvv -P in host 192.168.200.100 and icmp
  • 抓取流出 interface eth0,host 為 192.168.200.100且協議為 ICMP 的數據包
  • tcpdump -i eth0 -nntvv -P out host 192.168.200.100 and icmp

    五、與 wireshark、Snort 等工具的結合
    tcpdump 抓包的時候,默認是打印到屏幕輸出,如果是抓取包少還好,如果包很多,很多行數據,刷刷刷從眼前一閃而過,根本來不及看清內容。不過,tcpdump 提供了將抓取的數據保存到文件的功能,查看文件就方便分析多了,而且還能與其他圖形工具一起配合分析,比如 wireshark、Snort 等。
    參數:

    -w 選項表示把數據報文輸出到文件 tcpdump -w capture_file.pcap port 80# 把所有 80 端口的數據導出到文件 -r 選項表示讀取文件里的數據報文,顯示到屏幕上 tcpdump -nXr capture_file.pcap host host1

    六、tcpdump 的輸出格式
    tcpdump總體輸出格式:
    系統時間 源主機.端口 > 目標主機.端口 數據包參數

    總結

    以上是生活随笔為你收集整理的Linux中tcpdump命令的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。