wireshark详细图文入门教程

写在前面

个人主页:HNUJSY
✨推荐专栏:《史上最全经典面试题总结》欢迎订阅学习~
Xmind文件获取:GitHub 持续更新中,别忘了 star 喔~

  1. 功能
    wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,总结,如果是处理HTTP,HTTPS 还是用Fiddler, 其他协议比如TCP,UDP 就用wireshark.

  2. 选择网卡
    wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。
    wireshark详细图文入门教程_第1张图片

  3. 窗口介绍:
    wireshark详细图文入门教程_第2张图片
    WireShark 主要分为这几个界面
    3.1 Display Filter(显示过滤器), 用于过滤
    3.2 Packet List Pane(封包列表), 显示捕获到的封包, 有源地址和目标地址,端口号。 颜色不同,代表不同的类型
    3.3 Packet Details Pane(封包详细信息), 显示封包中的字段
    3.4 Dissector Pane(16进制数据)
    3.5 Miscellanous(地址栏,杂项)
    如何捕获数据包
    wireshark详细图文入门教程_第3张图片

  4. 过滤器
    使用过滤是非常重要的, 初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
    4.1 过滤器有两种,一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录,一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。在Capture -> Capture Filters 中设置,保存过滤。
    4.2 新建过滤器,在Filter栏上,填好Filter的表达式后,点击Save按钮, 取个名字。比如"Filter 10",
    wireshark详细图文入门教程_第4张图片
    4.3 过滤表达式的规则
    4.3.1 协议过滤
    比如TCP,只显示TCP协议。
    4.3.2 IP 过滤
    比如 ip.src =192.168.1.102 显示源地址为192.168.1.102,
    ip.dst=192.168.1.102, 目标地址为192.168.1.102
    4.3.3 端口过滤
    tcp.port =80, 端口为80的
    tcp.srcport = 80, 只显示TCP协议的愿端口为80的。
    4.3.4 Http模式过滤
    http.request.method==“GET”, 只显示HTTP GET方法的。
    4.3.5 逻辑运算符为 AND/ OR

  5. 捕获结果分析
    5.1 着色规则
    在菜单“视图-着色规则”下查看
    wireshark详细图文入门教程_第5张图片
    5.2 数据包结构
    第一行:数据包整体概述,
    第二行:链路层详细信息,主要的是双方的mac地址
    第三行:网络层详细信息,主要的是双方的IP地址
    第四行:传输层的详细信息,主要的是双方的端口号。
    wireshark详细图文入门教程_第6张图片
    wireshark详细图文入门教程_第7张图片
    wireshark详细图文入门教程_第8张图片
    5.3 tcp数据包
    标志位对应的功能:
    URG: 紧急指针( urgent pointer)有效。
    ACK: 确认序号有效。
    PSH: 接收方应该尽快将这个报文段交给应用层。
    RST: 重建连接。
    SYN: 同步序号用来发起一个连接。
    FIN: 发端完成发送任务。
    窗口大小:用于流量控制。
    检验和:检验和覆盖了整个的 TCP报文段: TCP首部和TCP数据,与udp相似需要计算伪首部。
    wireshark详细图文入门教程_第9张图片
    tcp数据包结构及在wireshark中的位置
    wireshark详细图文入门教程_第10张图片

  6. Tcp三次握手分析
    客户端->服务器:发送标识为SYN=1、随机产生的客户端序号seq(发送序号)
    服务器->客户端:发送标识为SYN=1、ACK=1、第一步产生的客户端序号seq+1(确认序号)、随机产生的服务端序号seq
    客户端->服务器:第一步产生的客户端序号seq+1(发送序号)、第二步产生的服务端序号seq+1(确认序号)、ACK=1
    wireshark详细图文入门教程_第11张图片
    三次数据包
    其中[SYN]意为SYN位为1(如果没有,则表示为0)。同理如果[]中有ACK,表示ACK位为1
    wireshark详细图文入门教程_第12张图片
    6.1 第一次握手数据包
    客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图
    wireshark详细图文入门教程_第13张图片
    6.2 第二次握手的数据包
    服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图
    wireshark详细图文入门教程_第14张图片
    6.3 第三次握手的数据包
    客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图:
    wireshark详细图文入门教程_第15张图片
    就这样通过了TCP三次握手,建立了连接

你可能感兴趣的:(wireshark,网络,过滤器)