结合wireshark理解tcp、http、dns、icmp、arp等协议

这篇具有很好参考价值的文章主要介绍了结合wireshark理解tcp、http、dns、icmp、arp等协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相关资料链接

抓包+各种协议(http、arp、icmp)的过滤或分析
wireShark 抓包分析基础
wireShark抓包分析
分析数据详情

wireshark抓包获取访问指定服务端数据包

Step1:启动wireshark抓包,打开浏览器输入www.huawei.com。
Step2:使用ping www.huawei.com获取IP。(win+r cmd)
Step3:输入过滤条件获取待分析数据包列表 ip.addr == 211.162.2.183。

wireShark抓包

wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

捕获过滤器

在设置了过滤项之后只抓取需要的包
类型Type:host、net、port;
方向Dir:src、dst;
协议Proto:ether、ip、tcp、udp、http、icmp、ftp;
逻辑运算符:and、or、not、&&、||、!
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

显示过滤器

抓取所有包,之后再根据过滤规则显示需要的包,显示过滤器的基本结构包括字段名、运算符和值。 eg:ip.src == 192.168.1.1
字段名通常对应于协议的某个特定部分;
运算符用于比较字段值;
值则是字段匹配的具体内容。

语法格式:一条基本的表达式由过滤项、过滤关系、过滤值组成
过滤项:协议+. +协议字段

过滤IP地址:ip.src、ip.dst、ip.addr、eth.addr、eth.type
eg:IP源地址 ip.src == 192.168.1.101
IP目的地址 ip.dst == 192.168.1.101
IP地址(包括源和目的) ip.addr == 192.168.1.101

过滤端口:tcp.port、tcp.srcport、tcp.dstport、tcp.flag.syn
eg:TCP端口 tcp.port == 80
TCP目的端口 tcp.dstport == 80
TCP源端口 tcp.srcport == 80
TCP 1 - 80 之间的端口 tcp.port >= 1 and tcp.port <= 80
tcp.flags.syn:SYN标志位,用于过滤TCP连接请求
tcp.flags.ask:ACK标志位,用于过滤确认段

过滤MAC地址:eth
eg:源(以太网)MAC地址 eth.src == 00 - BB - 60 - 7C - A4 - BB
目的(以太网)MAC地址 eth.dst == 00 - BB - 60 - 7C - A4 - BB
MAC地址(包括源和目的) eth.addr == 00 - BB - 60 - 7C - A4 - BB

过滤包长度:len、length
eg:整个UDP数据包 udp.length == 20
TCP数据包中的IP数据包 tcp.len >= 20
整个IP数据包 ip.len == 20
整个数据包 frame.len == 20

HTTP模式过滤:get、post、uri
eg:请求方法为GET http.request.method == “GET”
请求方法为POST http.request.method == “POST”
指定URI http.request.uri.path contains “x”
泛指 http contains “x”
http.host:HTTP请求的主机名

协议过滤:arp、tcp、udp、http、dns(直接在过滤框中输入协议名,协议名需要小写)
eg:udp.srcport:UDP源端口
udp.dstport:UDP目的端口
udp.port:UDP源或目的端口
dns.qry.name:DNS查询的域名

逻辑运算符:and、or、not、&&、||、!、in、contains、()
与:and 或 &&( ip.src == 192.168.1.1 and ip.src == 192.168.1.1)
或:or 或 ||( ip.src == 192.168.1.1 or ip.src == 192.168.1.1)
包含:contains(http.request.uri contains “google”)
匹配正则表达式:matches(http.user_agent matches “Chrome”)
非:not 或 !( not icmp)
组合和分组 :() eg: ip.src == 192.168.1.101 and ( ip.src == 192.168.1.101 or ip.src == 192.168.1.101)
比较操作符:==、!=、>=、> 、<=、<
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

wireShark抓包数据分析

数据包的大致结构
第一行:数据包整体概述;
第二行:链路层详细信息,主要的是双方的mac地址;
第三行:网络层详细信息,主要的是双方的ip地址;
第四行:传输层详细信息,主要的是双方的端口号;
第五行:和协议相关,不同的协议展示不同的内容。例如:dns协议,展示域名系统相关信息
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

1、物理层

frame
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

2、数据链路层

ethernet II

wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

3、互联网层IP包头部信息

internet protocol version

wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

报文

TCP

TCP:面向连接的通信协议,通过三次握手建立连接
当主动方发出SYN连接请求后,等待对方回答SYN,ACK
这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议

  • SYN指请求同步
  • ACK指确认同步
  • FIN指结束

三次握手
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http
第一次握手:客户端发送一个数据包,SYN=1 ,ACK=0,序列号从0开始(seq=0),表示客户端请求建立连接;
第二次握手:服务器端发回数据包,SYN=1,ACK=1 ,seq=0,ack=seq+1表示已接收的数据包数量;
第三次握手:客户端重新传回确认包,SYN=0,服务器端检查 ACK=1 ,ack=seq+1表示当前段成功接收数据位数。

四次挥手
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http
第一次挥手:发送带有 [FIN,ACK] 标志的数据包,Seq = 348,Ack = 748,发送后112.53.48.186进入FIN-WAIT-1(终止等待)状态;
第二次挥手:192.168.1.48收到 FIN 数据包,响应ACK数据包,Seq = 748(与FIN数据包ACK值相同),Ack = 349(等于FIN数据包的Seq + 1),后112.53.48.186进入了CLOSE-WAIT(关闭等待)状态;
第三次挥手:数据发送完后,192.168.1.48向112.53.48.186发送 [FIN,ACK] 报文,Seq = 748,Ack = 349;
第四次挥手:112.168.53.186向192.168.1.48发送标志为 [RST] 的报文,Seq = 349

TCP层FLAGS字段重要标识

ACK:为TCP报文段首部中的“ACK字段”,置1时该报文段为确认报文段。

ack:为TCP报文段首部中“确认号字段”的具体数值。
ack=x+1说明服务器希望客户端下次发来的报文段的第一个数据字节为序号=x+1的字节;
ack=y+1说明客户端希望服务器下次发来的报文段的第一个数据字节为序号=y+1的字节。
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

源IP地址:发送包的IP地址; 源端口:源系统上的连接的端口;
目的IP地震:接收包的IP地址; 目的端口:目的系统上的连接的端口。

1> 封包详细信息
2> Frame信息分析
3> EthernetII信息分析
4> IPv4协议信息分析
5> Trasmission Control Protocol信息分析
6> Data信息分析

HTTP

链路层的信息上是以帧的形式进行传输的,帧封装了应用层、传输层、网络层的数据。而Wireshark抓到的就是链路层的一帧。

1> 封包详细信息
2> Http请求报文分析
3> Http响应报文分析

ARP

Address Resolution Protocol(地址解析协议),通过目标设备的IP地址,查询目标设备的MAC地址。
第一个数据包信息
第一个数据包发送(或广播)一条请求信息,询问目标端:谁有192.168.1.4的MAC地址,告诉192.168.1.1

第二个数据包信息
第二个数据包表示:192.168.1.4的MAC地址是60:14:b3:7d:54:1d并单播数据帧回复给询问端

DNS

分布式的域名服务系统,每个DNS服务器上都存放着大量的机器名和IP地址的映射,并且是动态更新的
DNS协议基于TCP和UDP

1> 封包详细信息
2> DNS查询报文
3> DNS响应报文
4> Ping

UDP

User Datagram Protocol,OSI七层模型中一种无连接的传输协议
UDP信息包的标题很短,只有8个字节的大小,相比于TCP的20字节信息包,额外开销非常小

ICMP

ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

icmp数据包解读
(1) Frame:物理层
(2)Ethernet II:数据链路层
(3)Internet Protocol Version 4:网络层
(4)Internet Control Message Protocol:icmp信息
wireshark分析海康摄像头的http和tcp数据,wireshark,tcp/ip,http

TLS

TLS 是一种密码学协议,保证了两个端点之间的会话安全
TLS 的四个核心子协议:握手协议 (handshake protocol)、密钥规格变更协议 (change cipher spec protocol)、应用数据协议 (application data protocol) 和警报协议 (alert protocol)
最主要、最复杂是“握手协议”,协商对称密码就是在该协议中完成的

握手过程

HTTPS 链接建立、TLS 握手协议里参数传递、证书验证、协商对称密钥的过程↓

  1. Client Hello

  2. Server Hello

  3. Certificate(发送服务器证书信息到客户端)

  4. Server Key Exchange(密钥交换)

  5. Server Hello Done(将握手消息需要的数据发送完毕)

  6. Client Key Exchange(客户端发送给服务器的密钥交换信息)
    客户端验证证书和计算密钥
    验证服务器发来的证书合法性
    计算预主密钥
    计算主密钥
    构建会话密钥

  7. 客户端发出Change Cipher Spec,Encrypted Handshake Message
    Change Cipher Spec 客户端已生成加密密钥,并切换到加密模式
    Encrypted Handshake Message 将之前所有的握手数据做一个摘要,再用最后协商好的对称加密算法对数据做加密
    服务器计算密钥

  8. 服务器发出Change Cipher Spec,Encrypted Handshake Message
    Change Cipher Spec 告诉客户端,服务端已生成密钥,请求客户端切换加密模式
    Encrypted Handshake Message 服务器对握手的所有数据用协商好的对称加密算法加密,供客户端校验

  9. 应用数据协议文章来源地址https://www.toymoban.com/news/detail-855126.html

到了这里,关于结合wireshark理解tcp、http、dns、icmp、arp等协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络协议分析(一)(C语言实现---ethernet、arp、ip、icmp、udp、tcp)

    以太网协议是一种局域网通信协议,它通过物理层和数据链路层的协同工作,使用媒体访问控制地址和载波监听/冲突检测协议来实现计算机之间的稳定数据传输。在数据传输过程中,以太网会将数据封装成数据帧,并根据目标MAC地址来识别需要接收数据的计算机。通过这种方

    2024年02月06日
    浏览(33)
  • 详解MAC帧、ARP、DNS、ICMP协议

    比如新建了一个内网,如果一台机器A找机器B,封FRAME时(OSI的第二层用的数据格式),要封装对方的MAC, 开始时A不知道B的MAC,只知道IP,它就发一个ARP包 ,源IP是自己的,目的IP是B的,源MAC是自己的,目的MAC是广播的。然后这个请求包在内网内被广播,当其他机器接到这个

    2024年02月10日
    浏览(27)
  • wireshark抓包分析(ARP,IP,ICMP)

    ARP 介绍: 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓

    2024年02月07日
    浏览(28)
  • TCP/UDP/ARP/DNS/HTTP/帧的包头解析(保姆级分析)

    各种包的分析总结 TCP包的分析,包括使用wireshark进行抓包的分析   第一行:2个字节表示源端口,2个字节表示目的端口(0-65535) 第二行:序列号,保证数据的顺序 第三行:确认序号:确保自己已经收到了 第四行:首部长度(数据偏移):占 4 位,它指出 TCP 报文段的数据起

    2024年02月04日
    浏览(35)
  • 第四天 ICMP、ARP、TCP、UDP协议

    ICMP用来传递差错、控制、查询等信息。 ICMP是TCP/IP协议簇的核心协议之一,它用于在IP网络设备之间发送控制报文,传递差错、控制、查询等信息。 ICMP Echo Request和ICMP Echo Reply分别用来查询和响应某些信息,进行差错检测。 ICMP Echo消息常用于诊断源和目的地之间的网络连通性

    2024年04月16日
    浏览(26)
  • ARP欺骗和DNS劫持以及Wireshark分析

    目录 第一部分,使用ettercap图形化界面进行ARP欺骗 第二部分,使用ettercap进行DNS劫持,开启Apache服务,让目标主机访问任何网站都劫持到kali系统主页 第三部分,使用Wireshark抓包分析ARP欺骗和DNS劫持的特征数据,并进行分析 一、实验目的 利用ettercap进行中间人攻击之 ARP欺骗

    2024年02月04日
    浏览(27)
  • Wireshark抓包分析ICMP协议

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的:分析ICMP协议的数据格式、报文类型及作用。 操作系统:Windows

    2024年02月08日
    浏览(27)
  • Wireshark抓包分析之ICMP协议包

    一、 Wireshark简介:(前身为Ethereal,2006年改名为wireshark) Wireshark 是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 Wireshark 使用 WinPCAP 作为接口,直接与网卡进行数据报文交换。 (一) 功能:可用于网络流量捕获

    2024年02月08日
    浏览(31)
  • 6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文

    6.3.5 利用Wireshark进行协议分析(五)----捕获并分析ICMP报文 一、捕获ICMP报文 打开Wireshark,选择网络接口并点击开始按钮。分组列表面板不断刷新抓渠道的数据包,为了过滤出我们所要分析的ICMP报文,我们在过滤框中输入icmp,为了生成icmp报文,我们需要运行系统自带的ping程

    2024年02月16日
    浏览(33)
  • Wireshark数据抓包分析之ARP协议

            通过wireshark的数据抓包了解这个ARP协议的具体内容         1.Address Resolution Protocol协议,就是通过目标IP的值,获取到目标的mac地址的一个协议         2.ARP协议的详细工作过程,下面描述得非常清晰:          3.关于上面提到的ARP缓存表这个东西: (1)首先,这里

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包