首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wireshark中的数据包分析-如何区分HTTP协议和TCP

wireshark中的数据包分析-如何区分HTTP协议和TCP
EN

Stack Overflow用户
提问于 2020-10-20 05:25:57
回答 1查看 299关注 0票数 0

我正在做一个学校项目,在这个项目中,我必须使用libcap库来分析C语言中的.pcap文件。我刚接触网络,但是我知道TCP在OSI模型的第4层,而HTTP在第7层。我想对HTTP数据包进行排序,并打印源/目的端口,但我对如何区分HTTP协议和TCP协议感到有点困惑。下面是一个我不理解的例子:

编辑:这里是另一个示例,其中源端口为80,长度为100。第54个字节为48,与HTTP 1.1响应数据包相同。它是TCP。https://i.stack.imgur.com/RQs6v.png

这里的目的端口是80,它是HTTP。但是,wireshark不会将此数据包列为HTTP协议,它只是TCP。TCP Me的问题是如何根据字节来确定数据包是https://i.stack.imgur.com/TsVuO.png协议还是仅仅是TCP协议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-20 05:37:49

您无法仅通过查看其报头来确定数据包是否为HTTP。HTTP是应用层的,如果你想识别一个HTTP流,你必须检查包的最里面的有效载荷。换句话说,只需查看TCP报头之后的内容即可区分HTTP数据包。Wireshark已经为您做了这件事,并将数据包标记到看起来像HTTP的端口。只需在顶部的过滤器栏中键入http,就可以过滤Wireshark识别为超文本传输协议的数据包。

在您的示例中,您显示的数据包的长度为0,因此除了不同层的各种报头之外,实际上没有什么需要分析的。数据包不是HTTP。

可以通过查看有效负载来确定“基于字节”的HTTP流量: HTTP请求和响应具有已知的格式。例如,HTTP1.1请求以<METHOD> <URI> HTTP/1.1\r\n开头,响应以HTTP/1.1 <CODE> <MSG>\r\n开头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64435280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档