如何在 Linux 平台上找到我的 Web 浏览器用于从 Web 服务器接收数据包的端口?

网络工程 通讯协议
2021-07-17 11:58:52

当 Web 服务器将数据发送回浏览器时,浏览器会使用我系统上的特定端口接收该数据。如何找出 Linux 机器上的端口?

2个回答

浏览器上没有固定的端口来接收数据。TCP 连接的源端口或多或少是随机选择的(取决于系统),并且不同于从同一主机到同一目标主机+端口的所有其他 TCP 连接的源端口。经常有多个 TCP 连接同时打开到同一个目标。要查看当前打开的连接以及它们使用的端口,请运行netstat -npt.

Linux 将为您打开的每个连接选择一个新的本地端口号。要查看您的内核配置使用的端口号范围,您可以键入:

cat /proc/sys/net/ipv4/ip_local_port_range

由于 sysctl 的历史原因,ipv4该设置实际上适用于 IPv4 和 IPv6。默认范围是 32768 - 61000。

如果您的问题不是它将用于新连接的内容,而是用于当前打开的连接的内容,您可以使用该netstat命令。例如我通常使用:

netstat -ntpW

n意味着不对 IP 地址执行反向 DNS。t意味着我想了解 TCP 连接。p意味着我想知道每个连接与哪个 PID 相关联(如果我没有权限查看信息或者套接字被多个 PID 打开,则此信息将不完整)。并且W意味着使用宽格式(没有该参数,输出中的 IP 地址可能会被截断)。