-
超详细的网络抓包神器 tcpdump 使用指南
- 作者:谢金冉 分类:电脑技术 发布时间:2021-07-10 05:52:00
tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将通过一个个具体的示例来介绍它在不同场景下的使用方法。不管你是系统管理员,程序员,云原生工程师还是 yaml 工程师,掌握 tcpdump 的使用都能让你如虎添翼,升职加薪。 1. 基本语法和使用方法 tcpdump 的常用参数如下: $ tcpdump -i eth0 -nn -s0 -v port 80 -i : 选择要捕获的接口,通常是...
tcpdump
是一款强大的网络抓包工具,它使用 libpcap
库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将通过一个个具体的示例来介绍它在不同场景下的使用方法。不管你是系统管理员,程序员,云原生工程师还是 yaml 工程师,掌握 tcpdump 的使用都能让你如虎添翼,升职加薪。
1. 基本语法和使用方法
tcpdump
的常用参数如下:
$ tcpdump -i eth0 -nn -s0 -v port 80
-i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan
或其他特殊接口。如果该系统上只有一个网络接口,则无需指定。-nn : 单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。-s0 : tcpdump 默认只会截取前 96
字节的内容,要想截取所有的报文内容,可以使用 -s number
, number
就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。-v : 使用 -v
,-vv
和 -vvv
来显示更多的详细信息,通常会显示更多与特定协议相关的信息。port 80
: 这是一个常见的端口过滤器,表示仅抓取 80
端口上的流量,通常是 HTTP。额外再介绍几个常用参数:
-p : 不让网络接口进入混杂模式。默认情况下使用 tcpdump 抓包时,会让网络接口进入混杂模式。一般计算机网卡都工作在非混杂模式下,此时网卡只接受来自网络端口的目的地址指向自己的数据。当网卡工作在混杂模式下时,网卡将来自接口的所有数据都捕获并交给相应的驱动程序。如果设备接入的交换机开启了混杂模式,使用-p
选项可以有效地过滤噪声。-e : 显示数据链路层信息。默认情况下 tcpdump 不会显示数据链路层信息,使用 -e
选项可以显示源和目的 MAC 地址,以及 VLAN tag 信息。例如:$ tcpdump -n -e -c 5 not ip6tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on br-lan, link-type EN10MB (Ethernet), capture size 262144 bytes18:27:53.619865 24:5e:be:0c:17:af > 00:e2:69:23:d3:3b, ethertype IPv4 (0x0800), length 1162: 192.168.100.20.51410 > 180.176.26.193.58695: Flags [.], seq 2045333376:2045334484, ack 3398690514, win 751, length 110818:27:53.626490 00:e2:69:23:d3:3b > 24:5e:be:0c:17:af, ethertype IPv4 (0x0800), length 68: 220.173.179.66.36017 > 192.168.100.20.51410: UDP, length 2618:27:53.626893 24:5e:be:0c:17:af > 00:e2:69:23:d3:3b, ethertype IPv4 (0x0800), length 1444: 192.168.100.20.51410 > 220.173.179.66.36017: UDP, length 140218:27:53.628837 00:e2:69:23:d3:3b > 24:5e:be:0c:17:af, ethertype IPv4 (0x0800), length 1324: 46.97.169.182.6881 > 192.168.100.20.59145: Flags [P.], seq 3058450381:3058451651, ack 14349180, win 502, length 127018:27:53.629096 24:5e:be:0c:17:af > 00:e2:69:23:d3:3b, ethertype IPv4 (0x0800), length 54: 192.168.100.20.59145 > 192.168.100.1.12345: Flags [.], ack 3058451651, win 6350, length 05 packets captured
显示 ASCII 字符串
-A
表示使用 ASCII
字符串打印报文的全部数据,这样可以使读取更加简单,方便使用 grep
等工具解析输出内容。-X
表示同时使用十六进制和 ASCII
字符串打印报文的全部数据。这两个参数不能一起使用。例如:
$ tcpdump -A -s0 port 80
抓取特定协议的数据
后面可以跟上协议名称来过滤特定协议的流量,以 UDP 为例,可以加上参数 udp 或
猜您喜欢
- 如何关闭Windows Defender防火墙,解开网..2024-04-04
- 谷歌浏览器安全设置大揭秘:让你轻松..2024-03-30
- 老电脑连接WiFi大揭秘:轻松上手,让..2024-03-28
- 如何轻松开启Windows Telnet,轻松掌握网..2024-03-25
- 腾达路由器最新登录入口,轻松掌握网..2024-03-20
- 解除网络限速,轻松提升电脑上网速度..2024-03-19
相关推荐
- ps怎么把字去掉不伤背景 ps怎么去水印..2017-07-26
- 一招教你解决火狐浏览器切换标签很卡..2021-03-31
- snkrs养号攻略,snkrs养号详细教程..2021-02-20
- Win10提示你的电脑不信任该网站的安全..2021-06-30
- ai怎么制作表格,ai怎么制作表格并填色..2020-12-22
- Win11系统禁止“显示更多选项”菜单的..2022-11-28