显示网络状况。我们可以使用 netstat 来显示目前的联机状况。例如:
$ netstat -a Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 20 www.ssh 198.z27z4z49.1780 ESTABLISHED tcp4 0 0 *.http *.* LISTEN tcp4 0 0 *.https *.* LISTEN tcp4 0 0 *.smtp *.* LISTEN tcp4 0 0 *.ssh *.* LISTEN tcp4 0 0 *.pop3 *.* LISTEN udp4 0 0 *.syslog *.* udp6 0 0 *.syslog *.* Active UNIX domain sockets Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr cd864e00 dgram 0 0 0 cd84ef0 0 cd864fc0 cd864fc0 dgram 0 0 0 cd84ef0 0 0
我们可以由上面的结果看到目前有一个使用者正使用 ssh 连到我们的网站。经由上表,我们可以看出我们所提供的服务有哪些,目前的使用情形如何。如果我们希望 Foreign Address 直接显示 IP ,可以使用参数 -n。
我们也可以使用参数 -i 来查看网络接口的使用情形:
$ netstat -ai Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll dc0 1500 00:80:c8:f6:b2:66 68890922 15997 8370716 1256 60296 33:33:c0:f6:78:e9 dc0 1500 fe80:1::280 fe80:1::281:c8ff: 0 - 0 - - ff02:1::2:c1f7:78e9(refs: 1) ff02:1::1 (refs: 1) ff02:1::1:ffe7:b266(refs: 1) lp0* 1500 0 0 0 0 0 lo0 16384 34050 0 34050 0 0
我们简单说明一下各字段所代表的意义:
- Name:设备的名称。
- Mtu:最大的传送单元(unit)。
- Network:此接口所提供的网络或目的地主机。
- Address:接口的地址。
- Ipkts:表示接收到的封包。
- Ierrs:表示接收到但破损的封包数量。
- Opkts:表示送出的封包。
- Oerrs:表示送出但破损的封包。
- Coll:表示发生碰撞 (Collision) 次数。当网络负荷量大时,封包送出时较易发生碰撞,碰撞产生时,系统会等待一段时间尝试再次送出封包。碰撞次数越多,联机品质越差。