019 Linux tcpdump 抓包案例入门可真简单啊?

019 Linux tcpdump 抓包案例入门可真简单啊?_第1张图片

1 tcpdump 是什么?

tcpdump 可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、端口的过滤,并提供and、or、not等逻辑语句来帮助你过滤掉不关注的信息。
通常用 tcpdump 抓包数据输出到文件(如在 linux 服务器上抓包数据),把文件下载拖到工作电脑 Wireshark 软件上配合分析(Wireshark 使用自行白度,也可以使用 wireshark 直接抓包分析)。

2 tcpdump 常用命令参数

还有非常多的参数,只简单备注一些常用的

  • -i<网络界面> 使用指定的网络截面送出数据包。
  • -w<数据包文件> 把数据包数据写入指定的文件。
  • -v 详细显示指令执行过程。
  • -n 不把主机的网络地址转换成名字。

3 tcpdump 抓包wss,配合Wireshark分析

//ip 瞎写的哈,脱敏
tcpdump -i en0  '((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or  dst host 163.235.251.8))'   -w wss-log.cap
  • (1)eth0 是网卡,可以通过 ifconfig 查看你的网卡。
  • (2)((src or dst host 163.235.251.6) or (src or dst host 163.235.251.7) or (src or dst host 163.235.251.8)) 这一段表示,一次监听抓取多个远端的主机地址,src or dst 可以把交互都抓出来,就是从这台发出来的,到这台回复的都可以抓出来,可以看到 TCP 完整的握手挥手过程。
  • (3)-w wss-log.cap 这个是把抓取的日志,写到 wss-log.cap,文件名以.cap 结尾。
  • (4)工作电脑下载 Wireshark 并打开,把上面的文件 wss-log.cap 拖到 Wireshark 界面即可看到协议交互过程。
  • (5)下面是一次 wss 的抓包(websocket+TLS),图片信息做脱敏处理。

019 Linux tcpdump 抓包案例入门可真简单啊?_第2张图片

4 tcpdump 抓包白度,配合Wireshark分析)

(1)抓包命令

tcpdump -i  en0  'src or dst   host www.baidu.com' -w baidu.cap

(2)访问下白度

curl www.baidu.com

(3)Wireshark分析下抓的数据

019 Linux tcpdump 抓包案例入门可真简单啊?_第3张图片

5 tcpdump 其他一些用例

1 抓取经过指定端口的数据包,不指定网卡

tcpdump -vn -i  any  port 7280  -w tcptemp.cap
  • (1)-i interface 指定 tcpdump 需要监听的接口,'any' 这个虚拟网络接口可被用来接收所有网络接口上的数据包。
  • (2)-v 当分析和打印的时候,产生详细的输出。比如包的生存时间,标识,总长度以及 IP 包的一些选项。这也会打开一些附加的包完整性检测,比如对IP或ICMP包头部的校验和。
  • (3)-n 不对地址(比如主机地址,端口号)进行数字表示到名字表示的转换。

2 指定主机,ip 抓包

tcpdump tcp port 23 and host 163.235.251.6

6 小结

tcpdump 可以将网络中传送的数据包完全截获下来提供分析。通常用 tcpdump 抓包数据输出到文件(如在 linux 服务器上抓包数据),把文件下载拖到工作电脑 Wireshark 软件上配合分析。本文记录了最简单的一些 case 使用,起到抛砖引玉的作用。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

你可能感兴趣的:(后端)