客户端用于发送出站数据包的网络端口是什么?

时间:2017-09-21 01:39:10

标签: networking port

我在superuser.com(https://superuser.com/questions/284051/what-is-port-forwarding-and-what-is-it-used-for)上阅读了一篇文章,该文章回答了除使用的端口之外的所有内容。从NAT路由器后面发送数据时,发送设备使用哪个端口发送到路由器,以及路由器在通过互联网发送时使用的端口?我知道当服务器收到此数据包时,它会使用发送设备(客户端)发送的端口来知道将数据包发回的位置。但是,这仍然无法解决NAT路由器最初提出这两个(私有和公共)端口的问题。 NAT路由器只是选择随机端口,并用它的发送端口进行游戏,以使黑客几乎不可能使用端口扫描程序在互联网上的随机节点上找到空缺?请有人让我摆脱痛苦。

1 个答案:

答案 0 :(得分:-1)

除非另有说明,否则端口在整个光谱范围内保持不变。例如,

客户端在80上发送HTTP,路由器将80私有的HTTP转发到80 public。互联网路由器接收公共80并转发给私人80.

路由器(NAT后面)唯一变化的是请求IP地址。如果我将数据包从端口80上的计算机发送到互联网站点,路由器会将数据包源IP更改为其IP,然后将其发送到全球。

现在,假设我们在家庭网络上。这是事情的运作方式。 192.168.0.2向端口80上的8.8.8.8(google)发送请求到路由器。数据包到达路由器。路由器将SourceIP从192.168.0.2更改为其公共IP(64.5.5.5)。它使用诸如请求MAC地址之类的各种信息来存储该记录。数据包到达8.8.8.8,然后将目标IP从8.8.8.8更改为172.0.0.5(Google的某个内部Web服务器)并将请求发送到服务器。当服务器发送响应时,相反的过程反过来发生。