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,我的服务器运维以及微服务感兴趣的话,能够关注我