Q: tcpdump
是幹嘛的
A: 抓包的
Q: 除了 tcpdump
還有啥能抓包
A: wireshark
Q: 爲啥不講 wireshark
抓包
A: wireshark
在 linux 命令行上不能用前端
-c count
: 指定打印條數-i interface
: 指定網絡接口,如常見的 eth0
,lo
,能夠經過 ifconfig
打印全部網絡接口-vv
: 儘量多地打印信息過濾器,顧名思義,過濾一部分數據包,而過濾器使用 pcap-filter
的語法linux
因此你能夠查看 pcap-filter
手冊git
# 查看全部過濾器
$ man pcap-fliter
複製代碼
過濾器能夠簡單分爲三類程序員
type
: 有四種類型 host
,net
,port
,portrange
tcpdump port 22
tcpdump port ssh
dir
: 源地址和目標地址,主要有 src
和 dst
tcpdump src port ssh
proto
: 協議,有 ip
,arp
,rarp
,tcp
,udp
,icmp
等
tcpdump icmp
命令: netstat -i
解釋: 打印全部網絡接口github
命令: tcpdump -i eth0
解釋: 監視網絡接口 eth0
的數據包面試
命令: tcpdump host 172.18.0.10
解釋: 監視主機地址 172.18.0.10
的數據包前端工程化
命令: tcpdump net 172.18.0.1/24
解釋: 監視網絡 172.10.0.1/24
的全部數據包bash
命令: tcpdump tcp port 443
解釋: 監聽 https 請求服務器
命令: tcpdump tcp port 443 and host 172.18.0.10
解釋: 監聽目標地址或源地址是 172.18.0.10 的 https 請求網絡
命令: tcpdump icmp
解釋: 監聽 ICMP 協議 (好比典型的 PING 命令)
命令: tcpdump arp
解釋: 監聽 ARP 協議
命令: tcpdump 'tcp[tcpflags] == tcp-syn'
解釋: 監聽 TCP 協議中 flag
帶 SYN
的,能夠用來監聽三次握手
命令: tcpdump -vv tcp port 80 | grep 'Host:'
解釋: 找到 http 中全部的 Host
我是山月,一個喜歡跑步與登山的程序員,我會按期分享全棧文章在我的公衆號中。若是你對全棧面試,前端工程化,graphql,devops,我的服務器運維以及微服務感興趣的話,能夠關注我