Tcpdump抓包實操


剛從wireshark轉到tcpdump,所以就用最適合wireshark思路的方式寫這篇博客,以便儘快適應tcpdume,官方API:https://www.tcpdump.org/manpages/tcpdump.1.html,也可以從man裏查詢:http://man.he.net/?topic=tcpdump&section=all

1 常用命令

抓取一個固定主機ip的端口號,並保存在本地

sudo tcpdump -i 接口 -w 保存的路徑 host 主機IP and port 端口號 -s0 -C 包大小

sudo tcpdump -i any -w ~/Desktop/test.pcap host 127.0.0.1 and port 223 -s0 -C 100
# 抓取所有網絡接口數據包,提取出包含127.0.0.1:223的數據包,並以每個並保存在 ~/Desktop/test.pcap文件下
# -C 100及每100個數據包保存爲一個文件

後臺抓取多個主機的數據包

nohup tcpdump -i ens3 host baidu.com or csdn.com -s0 -C 100 -w ~/test.pcap &
# 抓取 baidu.com 與 csdn.com 兩個域名的地址
# 使用開頭的nohup與結尾的&使tcpdump後臺運行

查看後臺正在執行的tcpdump:

ps -ef|grep tcpdump |grep -v 'grep'

直接kill掉進程號就可以關閉掉後臺運行的tcpdump了

按抓包的時間保存數據包

tcpdump -i any -s0 -G 600 -w %Y_%m%d_%H%M_%S.pcap
# 每600秒保存一次文件

2 自定義操作

自定義網絡接口

tcpdump -D # 列出所有可用的網絡接口
tcpdump -i eth0 # 監聽 eth0 接口

自定義端口

tcpdump -i eth1 host 192.168.0.11 and ! port 80 and ! port 25
# 抓取192.168.0.11除了80,25外的其他端口

自定義抓取數據包的個數

tcpdump -i eth1 host 192.168.0.11 -c 10000
# 抓取eth1網卡上包含192.168.0.11的數據包 10000個後退出

自定義指定協議

協議可以是:ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp and udp

tcpdump tcp

參考鏈接

Linux tcpdump命令詳解:https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html
超級詳細Tcpdump 的用法:https://www.jianshu.com/p/bcc24f8456a1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章