TCP连接上的源端口和目标端口

不应该build立到端口80的TCP连接也来自端口80? 或者当普通用户有一个普通的浏览器时他们通常来自哪个端口? 我想知道,因为我不知道我是否可以限制在我的防火墙传入的端口

tcp 6 156441 ESTABLISHED src=88.242.44.86 dst=74.208.112.246 sport=1164 dport=80 packets=4 bytes=172 src=74.208.112.246 dst=88.242.44.86 sport=80 dport=1164 packets=1 bytes=52 [ASSURED] mark=0 use=1 tcp 6 156065 ESTABLISHED src=78.186.69.124 dst=74.208.112.246 sport=3133 dport=80 packets=4 bytes=168 src=74.208.112.246 dst=78.186.69.124 sport=80 dport=3133 packets=1 bytes=48 [ASSURED] mark=0 use=1 tcp 6 132805 ESTABLISHED src=88.238.245.86 dst=74.208.112.246 sport=3526 dport=80 packets=4 bytes=172 src=74.208.112.246 dst=88.238.245.86 sport=80 dport=3526 packets=1 bytes=52 [ASSURED] mark=0 use=1 

不,它来自短暂的港口 。

首先一些基本知识。 一个套接字 ,由一个源端口和地址,以及目的端口和地址组成。 该套接字描述了一个单一的通信线路。 套接字描述一个连接。 当操作系统接收到数据包时,它会查看这些信息位以决定哪个应用程序应该获取数据包。 如果你希望看到这些连接看netstat的输出。

如果发往80端口的所有东西都来自80端口,那么你只能在2个IP地址之间build立一个连接。 在现实世界中,我们经常希望将多个连接打开到Web(或其他)服务器,以便我们可以并行检索事物。

端口地址转换(Port Address Translation)也应该考虑networking转换( NAT )或更具描述性和更常见的情况。 只允许NAT设备后面的一个系统一次build立连接是完全不可接受的。因此源端口被分配给每个传出连接。 NAT设备必须保留一个转换表,用于跟踪外部的端口+地址组合属于哪个端口+地址组合。

没有。

“正常”连接来自1025-65535范围。 许多操作系统使用的是一个子范围,比如Vista上的49152-65535。 OS的临时端口列表 。