我在superuser.com(https://superuser.com/questions/284051/what-is-port-forwarding-and-what-is-it-used-for)上阅读了一篇文章,该文章回答了除使用端口以外的所有内容。当从NAT路由器后面发送数据时,发送设备使用哪个端口发送到路由器以及路由器在通过互联网发送出去之后使用哪个端口?我知道当服务器收到这个数据包时,它使用发送设备(客户端)发送的端口来知道将数据包发回的位置。但是,这仍然不能解决NAT路由器最初提出这两个(私有和公共)端口的问题。 NAT路由器是否只是选择随机端口,并通过发送端口来发送窥探游戏,使黑客几乎不可能使用端口扫描器在互联网的随机节点上找到开放端口?请有人把我从痛苦中解救出来。客户端使用哪些网络端口发送出站数据包?
-1
A
回答
-1
除非另有说明,端口在整个频谱范围内保持不变。例如,
客户端在80上发送HTTP,路由器将80个私有上的HTTP转发给80个公共端。 Internet路由器在公共80上接收并转发到私有80.
路由器(NAT后面)更改的唯一内容是请求的IP地址。如果我从端口80上的计算机发送数据包到Internet站点,则路由器将数据包源IP更改为其IP,然后将其发送到全球。
现在,假设我们正在家庭网络中。以下是事情的运作方式。 192.168.0.2发送请求到路由器端口80上的8.8.8.8(谷歌)。数据包到达路由器。路由器将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服务器)并将请求发送到服务器。当服务器发送响应时,相同的过程反过来发生。
相关问题
- 1. 数据,网络,瘦客户端和MMORPG
- 2. Winsock + C +客户端到客户端+发送和接收数据
- 3. Erlang:客户端IP地址,发送数据包到特定的客户端?
- 4. 找出哪个客户端使网络变慢
- 5. 如何使用网络客户端登录购物网站
- 6. 网络 - 通过发送端口
- 7. 在WiFi网络上发现客户端
- 8. Cocoa中的并发网络客户端
- 9. 发送数据到客户端
- 10. 发送数据到Node.js客户端
- 11. nodejs不向客户端发送数据
- 12. 发送数据到多个客户端
- 13. node.js发送数据给客户端?
- 14. Node.js跨端口发送数据包
- 15. Phpmyadmin Mysql网络客户端和终端客户端的差异
- 16. 使用STUN发送UDP到客户端后面的客户端
- 17. 使用RavenDB客户端API发送客户端证书
- 18. 客户端网络堆栈
- 19. iphone网络客户端
- 20. 客户端网络服务
- 21. Qgis网络客户端/ Openlayers
- 22. 多网络请求&网络客户端
- 23. Android使用哪些端口?
- 24. pip使用哪些端口?
- 25. 使用Apache将数据发送回客户端使用Apache Mina
- 26. 使用Web客户端发布数据
- 27. Windows Phone客户端网站
- 28. 客户端asp.net网站deploymnet
- 29. Communicateur通过网络与客户端的串行端口
- 30. Socket.io客户端发出的旧数据
客户端从系统分配的端口向*端口80 *发送HTTP *。 – EJP
我发誓我没有试图变得困难,当你说它保持不变时,这个端口初始化到什么地方以及是什么决定了它?当我想发送NAT后面的东西时,我知道路由器最终将每个节点分配给一个私有地址。好吧,它也会为每个节点分配一个端口和它分配的地址?我熟悉你描述的所有内容,特别是在看完这些后:https://youtu.be/QBqPzHEDzvo?t=5m29s。我唯一的困惑是使用的第一个端口(私有端)的起源以及路由器分配的发送给服务器(公共端)的端口。 – Doug
我依赖于尝试通信的应用程序(或协议)。以下是常见端口号的列表https://en.m.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers –