Linux下查看端口及进程的最佳实践(linux查看端口 进程)
在计算机网络中,每一台计算机都通过端口与其他计算机连接。因此,了解端口状态以及与之关联的进程和服务变得至关重要,而在Linux系统下查看端口以及进程的最佳实践可以有效地帮助我们了解网络的状况。
首先,当我们想要在Linux系统下查看端口和其相关的进程时,Netstat工具是最常用的方法。Netstat能够有效地帮助我们查看本机上及其他计算机上的活动TCP/UDP连接的状态,同时也能够显示本地服务或者程序绑定的端口。在终端中输入 netstat –lapt 命令,就可以查看这些有用的信息(查看本地机器绑定的端口情况):
~~~
netstat -lapt
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.1:9000 0.0.0.0:* LISTEN 953/httpd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1088/exim
tcp 0 0 :::22 :::* LISTEN 1017/sshd
tcp 0 0 :::80 :::* LISTEN 953/httpd
~~~
另外,我们还可以使用lsof(“list open files”)命令查看系统进程相关的文件描述符和端口,从而查看TCP连接和各种服务器程序(如FTP服务器,SMTP服务器,SSH客户端)之间的关联状态。通过输入 lsof -i 命令就可以查看当前本机使用中的端口情况:
~~~
lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1017 root 3u IPv4 4463 0t0 TCP *:ssh (LISTEN)
httpd 953 root 4u IPv4 4694 0t0 TCP *:www (LISTEN)
~~~
此外,在Linux系统下,我们还可以使用ss命令或者要更加详细的netstat -tunlp命令来查看本地机器地监听端口情况(查看本地机器绑定的端口情况):
~~~
ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 *:* users:((“httpd”,pid=953,fd=4))
LISTEN 0 128 *:ssh *:* users:((“sshd”,pid=1018,fd=3))
LISTEN 0 256 :::80 :::* users:((“httpd”,pid=953,fd=6))
LISTEN 0 128 :::22 :::* users:((“sshd”,pid=1018,fd=4))
~~~
这样就可以查看本机上各个进程所绑定的端口号,如果想更详细的查看关联的进程,可以加上 -p 参数以查看进程PID:
~~~
ss -tnlp -p
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 127.0.0.1:9000 *:* users:((“httpd”,pid=953,fd=4))
LISTEN 0 128 *:ssh *:* users:((“sshd”,pid=1018,fd=3))
LISTEN 0 256 :::80 :::* users:((“httpd”,pid=953,fd=6))
LISTEN 0 128 :::22 :::* users:((“sshd”,pid=1018,fd=4))
~~~
使用这些命令,我们就能够轻松地查看Linux系统下每个端口以及其关联进程以及服务。通过查看端口,我们还可以知道程序正在运行并了解其状态,从而使我们可以有效地管理和监控本机上的端口和进程。