如何区分同一HTTPS流量中不同类型的数据包?

时间:2015-10-08 15:02:54

标签: c tcp https wireshark libpcap

有些困扰我的事情:我想区分来自Youtube的数据包和来自维基百科的数据包:它们都是通过HTTPS传输的,它们都来自443端口。

由于他们使用HTTPS,他们的有效负载是不可理解的,我无法进行完整的深度数据包检测:我只能查看以太网,IP和TCP结构头。我可以查看两个数据包的IP地址源并查看它们实际来自哪里,但要知道它们是来自Youtube还是维基百科我应该已经知道这两个站点的IP地址。

我想要弄清楚的是通过HTTP流式传输(如Youtube确实)和简单的HTML传输(维基百科),而无需调查有效负载。

编辑1 :在复制视频期间启动的Wireshark会话中,我收到了大量数据包。也许我应该开始查看来自同一地址的数据包之间的超时。

5 个答案:

答案 0 :(得分:1)

您可以考虑查看服务器证书。它会告诉你它是youtube(google)还是facebook。 Facebook certificate

这会让你知道SSL连接是否与youtube相关,哪一个是facebook。

答案 1 :(得分:0)

您可以尝试查看TCP标头选项,但通常情况下流量是加密的......所以中间人不会看到它。如果可能的话,根据定义,它将是一个糟糕的加密标准。由于您拥有捕获和用户代理已知的所有信息,因此您不是“中间人”。但是,您需要先使用用户代理信息进行解密,然后才能真正看到流内部。

答案 2 :(得分:0)

此链接:Reverse ip, find domain names on ip address

表示几种方法。

建议在C程序中运行nslookup on the IP

并且记住地址/ ip值可以嵌套在数据包的数据中,它可能(可能会)对数据包数据进行一些调查以获取数据包的发起者

答案 3 :(得分:0)

嗯,你遇到了困境。如何在用户明确加密信息以获取匿名信息时,让用户与其服务器进行交互。你不能快速回应。但是,只有您能够深入了解SSL连接,您才能获得更多信息。

即使在服务器和客户端之间互换的SSL证书也无济于事,因为它只识别服务器(而不是您在此连接后面尝试的虚拟主机)和多个SSL服务器(使用称为HTTP虚拟主机的功能)多个服务器可以侦听同一地址的同一端口上的连接。

SSL参数在连接后立即协商,并且通常使用请求的Host http头字段选择虚拟服务器(请参阅RFC-2616),但在SSL协商完成后这些是ocurr,因此您不要#39; t可以访问它们。

您唯一能做的就是尝试通过此类流量所显示的金额和连接模式来识别youtube的连接。

答案 4 :(得分:0)

如果您只想跟踪Wireshark中的数据流,可以使用TCP流索引,过滤器就像tcp.stream == 12

流索引从wirehark遇到的第一个流开始为零,并为每个新流增加(持久连接)。

因此,相同IP之​​间的两个不同的流将具有两个不同的数字。例如,视频流可能是12,而相同IP地址之间的音频流可能是13。

如果您在启动流之前开始捕获,您将能够看到设置SSL连接的原始流量(大部分内容都是明文)