例如,网络上的一个用户发出一个 HTTP 请求http://serverfault.com。我认为本例中的目标端口 (dport) 是 80。
源端口 (sport) 是什么?
如果用户请求https://serverfault.com(假设这是一个有效的 URL),我相信 dport 是 443。对吗?
如果用户已将其浏览器配置为使用代理服务器,dport 是否仍为 80/443,还是会更改为代理服务器正在运行的任何端口?那运动呢?
dport/sport 在遍历 iptables 链/规则时通常会改变吗? 如果用户通过代理服务器,情况会怎样?
答案1
- 源端口由操作系统在 1024-65535 范围内随机选择。
- 443 是 HTTP over SSL/TLS 的众所周知的端口(但与 HTTP 一样,您可以在任何端口上执行此操作;客户端只需要知道并明确地处理它)。
- (我不熟悉代理。)代理有几个常用端口,例如 3128 和 8080。
- Netfilter 仅在收到指示时才会更改标头。仅当使用 NAT(网络地址转换)时才会更改地址。如果使用代理,则在应用层上有一个连接,但在传输层上有两个连接:一个从客户端到代理,另一个从代理到实际目标。