[命令] Linux 命令 nestat (显示本地端口,以及其 PID 信息等)

案例一

$ netstat -ntulap
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:7001            0.0.0.0:*               LISTEN      1250/nxnode.bin     
tcp        0      0 127.0.0.1:25001         0.0.0.0:*               LISTEN      1345/nxrunner.bin   
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      1316/pipewire
......


补充:
1) -n 不解析名称
2) -t 显示 tcp 端口
3) -u 显示 udp 端口
4) -l 显示服务器接口
5) -a 显示所有接口
6) -p 显示 PID 或者程序名称的接口

案例二

mingyuzhu@mingyuzhu:~$ netstat -W -neopa
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name     Timer
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      991        6431       -                    off (0.00/0/0)
tcp        0      0 0.0.0.0:7001            0.0.0.0:*               LISTEN      1001       11218      1250/nxnode.bin      off (0.00/0/0)
tcp        0      0 127.0.0.1:25001         0.0.0.0:*               LISTEN      1001       11498      1345/nxrunner.bin    off (0.00/0/0)
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      0          6018433    -                    off (0.00/0/0)
tcp        0      0 127.0.0.1:3001          0.0.0.0:*               LISTEN      1001       12293      1316/pipewire        off (0.00/0/0)
tcp        0      0 0.0.0.0:4000            0.0.0.0:*               LISTEN      121        11121      -                    off (0.00/0/0)
tcp        0      0 127.0.0.1:26001         0.0.0.0:*               LISTEN      1001       11426      1250/nxnode.bin      off (0.00/0/0)
tcp        0      0 127.0.0.1:26002         0.0.0.0:*               LISTEN      1001       6513629    1065010/nxnode.bin   off (0.00/0/0)
......


补充:
1) -W 不缩写 IP 地址
2) -n 不解析名称
3) -e 显示更多的信息
4) -o 显示计时器
5) -p 显示 PID 或者程序名称的接口
6) -a 显示所有接

[命令] Linux 命令 ss (显示本地端口,以及其 PID 信息等)

案例一

$ ss -ntulap
Netid  State      Recv-Q   Send-Q     Local Address:Port         Peer Address:Port   Process                                                                              
udp    UNCONN     188672   0          80.66.196.238:5353              0.0.0.0:*                                                                                           
udp    UNCONN     0        0                0.0.0.0:5353              0.0.0.0:*                                                                                           
udp    UNCONN     0        0                0.0.0.0:5353              0.0.0.0:*                                                                                           
udp    UNCONN     0        0                0.0.0.0:4000              0.0.0.0:*                                                                                           
udp    UNCONN     0        0                0.0.0.0:4011              0.0.0.0:*       users:(("nxnode.bin",pid=1065010,fd=27),("nxnode.bin",pid=1250,fd=70))              
......


补充:
1) -n 不解析名称
2) -t 显示 tcp 端口
3) -u 显示 udp 端口
4) -l 显示服务器接口
5) -a 显示所有接
6) -p 显示 PID 或者程序名称的接口

[步骤] Linux IPv4 端口号保留的设置

步骤一:修改要保留的 IPv4 端口号

1.1 临时修改要保留的 IPv4 端口号

1.1.1 临时限制应用可自动随机使用的 IPv4 端口号范围
# echo "1100 32999" > /proc/sys/net/ipv4/ip_local_port_range

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 1100 到 32999 为例)

1.1.2 临时设置要保留的 IPv4 端口号范围
# echo "33000-34000" > /proc/sys/net/ipv4/ip_local_reserved_ports

(补充:这里以要保留的 IPv4 端口号范围是从 33000 到 34000 为例)

1.2 永久修改要保留的 IPv4 端口号

1.2.1 永久修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
net.ipv4.ip_local_port_range = 1100 32999
net.ipv4.ip_local_reserved_ports = 33000-34000


补充:
1) 这里以设置应用可自动随机使用的 IPv4 端口号是从 1100 到 32999
2) 要保留的 IPv4 端口号范围是从 33000 到 34000
为例

1.2.2 让刚刚修改的 /etc/sysctl.conf 文件里的参数生效
# sysctl -p

步骤三:查看保留的 IPv4 端口范围

3.1 查看 /proc/sys/net/ipv4/ 目录下的相关系统文件

3.1.1 查看应用可自动随机使用的 IPv4 端口号范围
# cat /proc/sys/net/ipv4/ip_local_port_range
3.1.2 查看要保留的 IPv4 端口号范围
# cat /proc/sys/net/ipv4/ip_local_reserved_ports

3.2 使用 sysctl -a 命令查看

3.2.1 查看应用可自动随机使用的 IPv4 端口号范围
# sysctl -a | grep net.ipv4.ip_local_port_range
3.2.2 查看要保留的 IPv4 端口号范围
# sysctl -a | grep net.ipv4.ip_local_reserved_ports

[步骤] Linux 应用可自动随机使用的 IPv4 端口号范围的设置

步骤一:查看应用可自动随机使用的 IPv4 端口号范围

1.1 方法一:查看 /proc/sys/net/ipv4/ip_local_port_range

# cat /proc/sys/net/ipv4/ip_local_port_range
32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

1.2 方法二:查看 sysctl 参数

# sudo sysctl -a | grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

步骤二:设置应用可随机自动使用的 IPv4 端口号范围

2.1 临时设置应用可自动随机使用的 IPv4 端口号范围

# echo "32768 65536" > /proc/sys/net/ipv4/ip_local_port_range

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2 永久应用应用可自动随机使用的 IPv4 端口号范围

2.2.1 修改 /etc/sysctl.conf 文件

# vim /etc/sysctl.conf

添加以下内容:

......
net.ipv4.ip_local_port_range = 32768 65536

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2.2 让刚刚修改的 /etc/sysctl.conf 文件里的参数生效

# sysctl -p