当前位置: 首页 > news >正文

如何在linux抓包tcpdumpwireshark如何使用

tcpdump 是一个功能强大的命令行网络数据包分析工具,广泛用于 Linux、macOS 和其他类 Unix 系统中。能够捕获和显示通过网络接口传输的数据包(如 TCP、UDP、ICMP 等),用于诊断网络问题。类似的工具还有wireshark,使用图形化操作。强烈建议用tcpdump保存数据包后,使用图形化工具分析,命令行文字实在太难用了。

1.安装tcpdump

apt -y install tcpdump或者 yum -y isntall tcpdump

使用nginx搭建了一个简易的web serrver

[root@node1 ~]# cat /etc/nginx/conf.d/hello.conf 
server {listen 80;server_name localhost;location / {return 200 "hello wzy";}
}

启动nginx

[root@node1 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@node1 ~]# nginx

2.使用windows电脑的cmd调用curl工具,发起请求,访问这个web server

在这里插入图片描述

3.在linux命令行输入 tcpdump -i eth0 port 80 -n -vvv

参数解释:

-i: interface,过滤端口为80

-w: write,写入数据到文件

-n: 默认情况下,tcpdump 会尝试将 IP 地址解析为主机名。用 -n 后,直接显示 IP 地址和端口号

-v: 非常详细的输出(verbose level 3)

更多参数请查看手册:man tcpdump 或者问AI

[root@node1 ~]# tcpdump -i eth0 port 80 -n -vvv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
19:19:59.698139 IP (tos 0x0, ttl 128, id 19301, offset 0, flags [DF], proto TCP (6), length 52)10.0.0.253.31219 > 10.0.0.31.80: Flags [S], cksum 0x9959 (correct), seq 793517083, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
19:19:59.698172 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)10.0.0.31.80 > 10.0.0.253.31219: Flags [S.], cksum 0x1542 (incorrect -> 0xa609), seq 2770488861, ack 793517084, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
19:19:59.698358 IP (tos 0x0, ttl 128, id 19302, offset 0, flags [DF], proto TCP (6), length 40)10.0.0.253.31219 > 10.0.0.31.80: Flags [.], cksum 0xdfcb (correct), seq 1, ack 1, win 513, length 0
19:19:59.698358 IP (tos 0x0, ttl 128, id 19303, offset 0, flags [DF], proto TCP (6), length 113)10.0.0.253.31219 > 10.0.0.31.80: Flags [P.], cksum 0xbbce (correct), seq 1:74, ack 1, win 513, length 73: HTTP, length: 73GET / HTTP/1.1Host: 10.0.0.31User-Agent: curl/7.83.1Accept: */*19:19:59.698401 IP (tos 0x0, ttl 64, id 18752, offset 0, flags [DF], proto TCP (6), length 40)10.0.0.31.80 > 10.0.0.253.31219: Flags [.], cksum 0x1536 (incorrect -> 0xdf8d), seq 1, ack 74, win 502, length 0
19:19:59.698559 IP (tos 0x0, ttl 64, id 18753, offset 0, flags [DF], proto TCP (6), length 219)10.0.0.31.80 > 10.0.0.253.31219: Flags [P.], cksum 0x15e9 (incorrect -> 0x6f7e), seq 1:180, ack 74, win 502, length 179: HTTP, length: 179HTTP/1.1 200 OKServer: nginx/1.18.0 (Ubuntu)Date: Mon, 27 Oct 2025 11:19:59 GMTContent-Type: application/octet-streamContent-Length: 9Connection: keep-alivehello wzy [|http]
19:19:59.698875 IP (tos 0x0, ttl 128, id 19304, offset 0, flags [DF], proto TCP (6), length 40)10.0.0.253.31219 > 10.0.0.31.80: Flags [F.], cksum 0xdecf (correct), seq 74, ack 180, win 512, length 0
19:19:59.698917 IP (tos 0x0, ttl 64, id 18754, offset 0, flags [DF], proto TCP (6), length 40)10.0.0.31.80 > 10.0.0.253.31219: Flags [F.], cksum 0x1536 (incorrect -> 0xded8), seq 180, ack 75, win 502, length 0
19:19:59.699059 IP (tos 0x0, ttl 128, id 19305, offset 0, flags [DF], proto TCP (6), length 40)10.0.0.253.31219 > 10.0.0.31.80: Flags [.], cksum 0xdece (correct), seq 75, ack 181, win 512, length 0

4.数据包信息在终端上面不利于后期查阅和分析,使用 -w参数保存

tcpdump -i eth0 port 80 -w web.pcap

5.双击桌面的web.pcap文件用wiresheark打开,需要提前安装。安装地址请查看:https://www.wireshark.org/

在这里插入图片描述

打开后:

在这里插入图片描述

可以看到有详细的tcp握手和挥手过程,再也不用担心看不到tcp的“手”了

在这里插入图片描述

注意:服务器在收到客户端的 FIN 后,立即回复 ACK + 自己的 FIN(合并在一个包里),称为 “半关闭优化”或“延迟ACK合并”,目的是减少网络开销。所以看到的是3个数据包

6.随后总结一下常用的用法

wireshark语法说明
ip.src/dst X.X.X.X源/目为X.X.X.X
ip.addr eq X.X.X.X/ip.addr源或目ip包含X.X.X.X
eth.addr == 74:ea:cb:53:ea:a0
192.168.16.1 <= ip.addr <= 192.168.16.254区间的IP
tcp.port == X筛选TCP端口为XXXX的数据包
tcp.dstport == XTCP目的端口
tcp.srcport == XTCP源端口
ip.len > 1500mtu大于1500
ip.flags.df == 1过滤不应分片的数据包
&&
||
>=ip大于
<=ip小于
tcpdump命令
-v详细数据包
-c指定抓取数据包数量
-n/-nn不解析域名/协议
-i指定接口
port 22指定端口
host 10.0.0.254指定ip
src/dst 10.0.0.254指定源目IP为10.0.0.254
tcp udp arp指定协议
-w filename.pcap把抓包写入到文件,可用wireshark打开
http://www.dtcms.com/a/536892.html

相关文章:

  • FFmpeg 基本数据结构 AVCodec分析
  • QtQuick3D入门(2):材质 material
  • 怎么做网上卖菜网站酒店管理专业建设规划
  • 20251027 Prism.Unity依赖注入Demo
  • MES系统:论工单计划在智能制造中的核心串联作用​
  • 【C语言】程序控制结构
  • 厦门做网站哪家公司好非交互式网站可以做商城吗
  • OpenSSL3.5.2实现SM3数据摘要生成
  • 现代机器人学习入门:一份来自Hugging Face与牛津大学的综合教程开源SOTA资源库
  • 2D SLAM 主流算法推荐汇总和扫地机应用场景
  • 运维实战:SSL 证书故障避坑指南(精简版)
  • google网站管理员中心wordpress 字号 插件
  • 南通智能模板建站群晖wordpress安装
  • 网站建设时图片和文字北京网站定制报价
  • YOLOv5核心代码深度解析
  • SELinux 安全机制
  • 爱奇艺的网站是用什么做的网站tdk建设
  • 网站名是域名吗浙江华企 做网站怎么样
  • 基于python的化妆品推荐系统
  • 深圳网站的公司注册公司流程及费用查询
  • C++仿Muduo库Server服务器模块实现 基于Reactor模式的高性
  • 对IDC(数据中心)运维了解
  • Hyperopt 强大的分布式参数优化框架全解析
  • 网站都必须要备案吗建设一个视频网站首页
  • 前端页面连接后端fastapi实现模型本地部署和open ai接入
  • 中国空间站设计在轨飞行几年旅游网站建设ppt模板下载
  • HR4985微特步进电机驱动器:便捷与高效的完美融合
  • 广州外贸网站制作报名小程序怎么制作
  • 采用 Trie 树结合 RoaringBitmap 技术,构建高效的子串倒排索引
  • 网站建设分工明细表北京快三是官方的吗