专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
51好读  ›  专栏  ›  马哥Linux运维

史上最简单的 Wireshark 和 TCP 入门指南

马哥Linux运维  · 公众号  · 运维  · 2018-01-16 08:00

正文


这篇文章介绍另一个好用的抓包工具 Wireshark, 用来获取网络数据封包,包括 HTTP、TCP、UDP 等网络协议包。


记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘一样,学得不踏实。有了wireshark就能截获这些网络数据包,可以清晰的看到数据包中的每一个字段。更能加深我们对网络协议的理解。对我而言, wireshark 是学习网络协议最好的工具。


阅读目录


  1. wireshark介绍

  2. wireshark不能做的

  3. wireshark VS Fiddler

  4. 同类的其他工具

  5. 什么人会用到wireshark

  6. wireshark 开始抓包

  7. wireshark 窗口介绍

  8. wireshark 显示过滤

  9. 保存过滤

  10. 过滤表达式

  11. 封包列表(Packet List Pane)

  12. 封包详细信息 (Packet Details Pane)

  13. wireshark与对应的OSI七层模型

  14. TCP包的具体内容

  15. 实例分析TCP三次握手过程


wireshark介绍


wireshark的官方下载网站: http://www.wireshark.org/


wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。


wireshark是开源软件,可以放心使用。 可以运行在Windows和Mac OS上。


使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。


Wireshark不能做的


为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。


Wireshark VS Fiddler


Fiddler是在windows上运行的程序,专门用来捕获HTTP,HTTPS的。


wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容


总结,如果是处理HTTP,HTTPS 还是用Fiddler,  其他协议比如TCP,UDP 就用wireshark


同类的其他工具


微软的network monitor


sniffer


什么人会用到wireshark


1. 网络管理员会使用wireshark来检查网络问题


2. 软件测试工程师使用wireshark抓包,来分析自己测试的软件


3. 从事socket编程的工程师会用wireshark来调试


4. 听说,华为,中兴的大部分工程师都会用到wireshark。


总之跟网络相关的东西,都可能会用到wireshark.


wireshark 开始抓包


开始界面



wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。


点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击”Start”按钮, 开始抓包



Wireshark 窗口介绍



WireShark 主要分为这几个界面


1. Display Filter(显示过滤器),  用于过滤


2. Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表


3. Packet Details Pane(封包详细信息), 显示封包中的字段


4. Dissector Pane(16进制数据)


5. Miscellanous(地址栏,杂项)


Wireshark 显示过滤



使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。


过滤器有两种, 一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录


一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置


保存过滤


在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如”Filter 102″,



Filter栏上就多了个”Filter 102″ 的按钮。



过滤表达式的规则


表达式规则


1. 协议过滤

比如TCP,只显示TCP协议。


2. IP 过滤

比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,

ip.dst==192.168.1.102, 目标地址为192.168.1.102


3. 端口过滤

tcp.port ==80,  端口为80的

tcp.srcport == 80,  只显示TCP协议的愿端口为80的。


4. Http模式过滤

http.request.method==”GET”,   只显示HTTP GET方法的。


5. 逻辑运算符为 AND/ OR

常用的过滤表达式









请到「今天看啥」查看全文


推荐文章
总裁俱乐部  ·  岁月回眸,感谢有你们!
8 年前
旅业链接  ·  聚焦|西班牙旅游推出全新中文官网
8 年前
智联招聘  ·  毕业七年:给你五条职场建议
7 年前
冷兔  ·  傻愣着干嘛?到底摸不摸!
7 年前