是 Unix/Linux 下的抓包工具,在 macOS 上也有实现。这个命令可以针对指定网卡、端口、协议进行抓包,这里记录下使用方法。
It is a grab tool under UNIX/ Linux, which is also implemented on macos. This command can be used for the grab of a specific net card, port, protocol, and the method of use is recorded here.
使用 或 参数
Use or Arguments
得到如下结果:
The following results were obtained:
其中的适配器名称部分,可以使用 参数监听此适配器的通讯。
The adapter name is part of which parameters can be used to listen to the adaptor's communications.
使用 或 参数监听适配器,适配器可以用或来表示,这些内容可以通过 参数获取。macOS 下监听适配器的话,必须使用 root 权限。
如果需要详细查看报内容,可以使用 参数。
Use
to view the contents of the report in detail.
使用 参数拿到适配器列表后,结合 参数就可以监听适配器了。但是这样的话会监听到所有的通讯,可以根据需要,针对感兴趣的内容进行过滤。
When you get a list of adaptors using the parameters, you can listen to the adaptor together. But then you can listen to all the communications and filter the content as needed.
1、过滤主机
- 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据
- 源地址
- 目的地址
2、过滤端口
- 抓取所有经过 eth1,目的或源端口是 25 的网络数据
- 源端口
- 目的端口
3、过滤网段
- 抓取所有经过 eth1,目的或源网段是 192.168 的网络数据
- 源网段
- 目的网段
4、协议过滤
5、使用表达式
- 与: 或
- 或: 或
- 非: 或
tcpdump 的选项也很多,要想知道所有选项的话,请参考 ,下面只记录 tcpdump 最常用的选项。
There are also many options for tcpdump. If you want to know all options, please refer to tcpdump's most commonly used options below.
需要注意的是,tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 , 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。
Note that tcpdump by default only intercepts the contents of the pre-96 bytes and can be used to intercept all the content of the message, which is the number of text sections you want to intercept, which, if 0, means intercepting all the contents of the message.
- 表示不要解析域名,直接显示 ip。
- 不要解析域名和端口
- 同时用 hex 和 ascii 显示报文的内容。
- 同 ,但同时显示以太网头部。
- 显示绝对的序列号(sequence number),而不是相对编号。
- 监听所有的网卡
- :显示更多的详细信息
- : 截取 number 个报文,然后结束
- : 只使用 ascii 打印报文的全部数据,不要和 一起使用。截取 http 请求的时候可以用 !
tcpdump Flags:
TCP Flag | tcpdump Flag | Meaning |
---|---|---|
SYN | Syn packet, a session establishment request. | |
ACK | Ack packet, acknowledge sender’s data. | |
FIN | Finish flag, indication of termination. | |
RESET | Reset, indication of immediate abort of conn. | |
PUSH | Push, immediate push of data from sender. | |
URGENT | Urgent, takes precedence over other data. | |
NONE | Placeholder, usually used for ACK. |
- 抓取所有经过 eth1,目的地址是 192.168.1.254 或 192.168.1.200 端口是 80 的 TCP 数据
- 抓取所有经过 eth1,目标 MAC 地址是 00:01:02:03:04:05 的 ICMP 数据
- 抓取所有经过 eth1,目的网络是 192.168,但目的主机不是 192.168.1.200 的 TCP 数据
- 只抓 SYN 包
- 抓 SYN, ACK
- 抓 SMTP 数据
抓取数据区开始为 的包, 的十六进制为 。
- 抓 HTTP GET 数据
(注意后面有空格)的十六进制是
- 抓 SSH 返回
的十六进制是
抓老版本的 SSH 返回信息,如
Grab an old version of SSH returns information, e. g.
- 抓 DNS 请求数据
- 其他
参数对于运维人员来说也比较常用,因为流量比较大的服务器,靠人工 还是抓的太多,于是可以用 参数指定抓多少个包。
上面的命令计算抓 10000 个 SYN 包花费多少时间,可以判断访问量大概是多少。
The order above calculates how much time it takes to grab 10000 SYN packages, and can judge the amount of access.
- 实时抓取端口号 的 包,然后写入 GET.log
测试过程中,发现本机发出的请求没有被抓到,不知道是参数设置问题还是什么,暂时先把疑问记录下来。
During the testing, it was found that the request from the aircraft had not been captured, that it was not known whether the parameters were set or what and that, for the time being, the doubts had been recorded.
- tcpdump非常实用的抓包实例
- tcpdump高级过滤技巧
- Mac系统下使用tcpdump抓包
- 超级详细Tcpdump 的用法
- iOS,Android网络抓包教程之tcpdump
- 抓包神器 tcpdump 使用介绍
- tcpdump
- Tcpdump使用
(完)
(concluded)
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论