netstat命令的输出每一行相当于一个套接字,当创建套接字时,就会在这里增加一行新的控制信息,赋予“即将开始通信”的状态,并进行通信的准备工作,如分配用于临时存放收发数据的缓冲区空间。
[root@server1 ~]# netstat -antulpe
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 8126 914/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 8379 991/master
tcp 0 0 172.25.28.1:22 172.25.28.250:55076 ESTABLISHED 0 8710 1069/sshd
tcp 0 0 :::22 :::* LISTEN 0 8128 914/sshd
tcp 0 0 ::1:25 :::* LISTEN 0 8381 991/master
tcp 0 0 :::3306 :::* LISTEN 27 12313 3221/mysqld
tcp 0 0 ::ffff:172.25.28.1:3306 ::ffff:172.25.28.2:48324 ESTABLISHED 27 12336 3221/mysqld
-a选项不仅显示正在通信的套接字,还显示包括尚未开始通信等状态的所有套接字
第一列:协议类型 使用TCP/IP协议通信的情况下,会显示TCP或UDP
第四列:运行netstat命令的计算机本身(本地端)的IP地址和端口号。0.0.0.0表示还没有开始通信,没有绑定IP地址和端口号。此外,UDP协议中的套接字不绑定对方的地址和端口,所以会显示.
第六列:
LISTENING 等待对方连接的状态
ESTABLISHED 完成连接并正在进行数据通信的状态第三行表示PID为1069的程序sshd正在使用IP地址为172.25.28.1的网卡与IP地址为172.25.28.250的对象进行通信。本机使用22端口,对方使用55076端口,这是对方使用ssh远程登录
第一行表示本机的22端口在等待另一方的连接,其中本地IP地址和远程IP地址都是0.0.0.0,这表示通信还没有开始,IP地址不确定