网络接口卡如何知道将数据包转发到哪个应用程序?

时间:2018-01-14 18:44:05

标签: http networking tcp

在过去的几天里,我一直在学习网络,我使用wireshark来嗅探我的网络流量,我想知道数据包如何到达他们所要求的同一个应用程序!也就是说,当我在浏览器中输入“https://stackoverflow.com”时,请求的页面会被发送到请求它的同一个浏览器。

使用wireshark,我发现应用程序名称与http标头一起发送,格式如下: {User-Agent:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 63.0.3239.132 Safari / 537.36}

我认为这就是网络服务器如何知道将数据包转发到哪个应用程序。所以,我认为响应将包含我在请求中使用的浏览器的名称,但我发现数据包似乎根本不包含这些信息!现在问题是,我的计算机如何知道应该将数据包转发到哪个应用程序!!

如果我考虑使用哪个tap来请求页面,它甚至会变得更复杂,当然这些细节不会在数据包中发送。所以我只是想知道,如何使用相同的应用程序在同一页面上加载页面?也许在请求中发送了会话ID或者某些内容然后在响应中收到了???如果是这样,我如何使用wireshark在数据包中找到该ID?!

2 个答案:

答案 0 :(得分:1)

TCP协议使用PORTS连接到不同IP地址之间的不同应用程序。并且您的操作系统管理传出连接并为新请求分配新PORT。连接(会话)为IP_Address1:TCP_Port1 => IP_Adress2:TCP_Port2

答案 1 :(得分:0)

  

网络接口卡如何知道将数据包转发到哪个应用程序?

没有。

操作系统中的TCP / IP网络堆栈通过协议中的端口号执行此操作。