《Wireshark数据包分析实战》 - http背后,tcp/ip抓包分析
作为网络开发人员,使用fiddler无疑是最好的选择,方便易用功能强。
但是什么作为爱学习的同学,是不应该止步于http协议的,学习wireshark则可以满足这方面的需求。wireshark作为抓取各种底层协议的包有着强大的功能,用于网络排错或者一些其他通讯方面的查看,是必须的。
以前有自己看过wireshark相关的简要教程,也是一知半解。借助《Wireshark数据包分析实战》一书,更准确知晓wireshark到底能干啥吧!
1. 网络七层协议(老生长谈了,看过许许多多的书,都会提到的一个)
应用层 - 直接面对用户的一层
表示层 - 用于加解密
会话层 - 两台计算机之间的会话管理
传输层 - 无差错传输
网络层 - 路由转发
数据链路层 - 提供寻址方案
物理层 - AD & DA
2. Wireshark捕获
在capture > Interface 选择一个网卡设备,点击start即可进行捕获了。对,数据量非常大!
3. Wireshark过滤
不使用过滤的话,wireshark的数据,可以说几乎无用,太多了,适当使用过滤,捕获有效数据方为上策。
BPF语法(Berkeley Packet Filter)。 (后置名字意义)Type: host, net, port; (传输方向)Dir: src, dst; (协议)Proto: ether, ip, tcp, udp, http, ftp, icmp; 如:dst host 192.168.1.1 && tcp port 80
显示过滤(从捕获的文件中过滤): ip.addr == 192.168.1.1, frame.len <=128, http, tcp.flags.syn == 1
4. 从捕获的文件中查看一些高级统计特性
查看单个包,可以知道通信细节,查看统计数据则能更快速得到一些结论,总览全局
查看端点: Stastics > Endpoints
查看网络会话: Statistics > Conversations
基于协议的统计数据: Stastics > Protocol Hierarchy
跟踪tcp流: 右击一条数据包 > Follow Tcp Stream, 该功能和fiddler的抓包功能类似,可以查看通信数据,但是对于加密的数据则只会看到乱码
查看IO图:Statistics > IO Graphs ,吞吐量查看
5. 一些捕获示例
书上举例,捕获twitter、facebook流量,操作方式就是如上简单的捕获,了解即可!
6. 辅助排查问题
...
wireshark捕获的是更全的数据包,但是相对复杂,对于普通的网络开发可能不太适用,但是常规了解一下还是有必要的哦。
重在成长!
附小技巧:刚刚在编辑该文章时,由于浏览页面的切换,导致该文章完全一片空白,没有保存不敢刷新,吓得我以为我一个个打的字已经白费? 幸好挽救回来了。操作如下:
网页 > 另存为 > EditPosts.aspx_files > saved_resource.html 里面就有刚刚写好的文章,总算是被保存下来了!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2015-12-06 使用swoole进行消息推送通知,配合vb.net进行客户端开发一样爽[开发篇]