常用tcpdump命令
发布日期:2021-05-15 09:10:15 浏览次数:16 分类:精选文章

本文共 1287 字,大约阅读时间需要 4 分钟。

tcpdump网络抓包工具使用手册

1. 安装

在 CentOS 系统中安装 tcpdump 工具:

yum install -y tcpdump

2. tcpdump 常用命令

检测系统可用接口

tcpdump -D

抓取指定接口的网络数据

# 抓取所有经过 eth0,目的或源地址是 192.168.29.162 的网络数据
tcpdump -n -i eth0 host 192.168.29.162
# 抓取 eth1 接口的源地址是 192.168.29.162 的网络数据
tcpdump -i eth1 src host 192.168.29.162
# 抓取 eth1 接口的目的地址是 192.168.29.162 的网络数据
tcpdump -i eth1 dst host 192.168.29.162
# 抓取当前服务器 eth0 网卡端口 8080 的网络数据
tcpdump -n -i eth0 port 8080
# 抓取执行 SQL 语句的 mysql 通讯包(以 wireshark 打开 cap 文件)
tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap
# 抓取 SMTP 数据
tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0'
# 抓取 HTTP GET 数据("GET " 对应十六进制 47455420)
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420'
# 抓取 SSH 返回数据("SSH-" 对应十六进制 0x5353482D)
tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D'
# 实时抓取端口 8080 的 GET 包并写入文件
tcpdump -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log
# 抓取指定数量的 SYN 包(-c 参数指定抓多少个包)
time tcpdump -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10

使用 tcpkill 关闭 TCP 连接

# 安装 tcpkill
yum install -y dsnifftcpkill
# 退出所有与指定地址或端口相关的 TCP 连接
tcpkill -i any -9 host 192.168.29.162
# 退出所有与指定端口相关的 TCP 连接
tcpkill -i any -9 port 8080

3. 注意事项

  • tcpdump 的过滤规则与命令参数有多种组合方式,具体可用性请参考官方文档或实践测试。
  • 在使用 tcpdump 时,确保有足够的权限来监控目标网络接口和数据。
上一篇:文件删了磁盘空间没释放
下一篇:sftp配置为chroot方式

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年05月05日 06时54分14秒