使用 netstat 命令的示例
netstat 命令存在多个选项。
下面列出了一些最常用的选项:
选项 | 描述 |
---|---|
-A | 指定地址族。 |
-r | 显示路由表。 |
-i | 显示网络接口信息。 |
-s | 显示每个协议的摘要统计信息。 |
-g | 显示组播组成员信息。 |
-n | 显示 IP 地址而不是解析的名称。 |
-c | 每秒连续打印信息。 |
-e | 显示扩展信息。 |
1. 指定地址族
要指定要为其显示连接的地址族(低级协议),请使用 -A 选项,后跟以逗号分隔的地址族关键字列表。
可能的地址族关键字是 inet、inet6. unix、ipx、ax25. netrom 和 ddp。
例子:
# netstat -A unix Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ] DGRAM 13229 @/org/freedesktop/hal/udev_event unix 2 [ ] DGRAM 972047754 @/org/kernel/udev/udevd unix 2 [ ] DGRAM 29633 /var/opt/OV/tmp/ovcd.sock unix 20 [ ] DGRAM 972084949 /dev/log unix 2 [ ] DGRAM 1603505216 unix 2 [ ] DGRAM 1603410473 unix 2 [ ] DGRAM 1603410454 unix 3 [ ] STREAM CONNECTED 1603410341 unix 3 [ ] STREAM CONNECTED 1603410340
2.显示内核路由表
使用 -r 或者 -route 选项显示内核路由表。
# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
3. 显示特定接口的内核接口表
使用选项 -i [for all interfaces] 或者 -I=[ifname] [for a specific interface] 显示所有网络接口或者指定 iface 的表。
下面显示了这两个选项的示例。
# netstat -I=eth0 Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1318844666 0 0 0 682418030 0 0 0 BMRU
# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1318847618 0 0 0 682419336 0 0 0 BMRU lo 65536 0 1297056515 0 0 0 1297056515 0 0 0 LRU
4. 显示每个协议的汇总统计信息
我们可以使用选项 -s 或者 -statistics 显示每个协议的统计信息摘要。
# netstat -s Ip: 67012 total packets received 0 forwarded 0 incoming packets discarded 66996 incoming packets delivered 36916 requests sent out 18 outgoing packets dropped Icmp: 59 ICMP messages received 0 input ICMP message failed. ICMP input histogram: destination unreachable: 36 echo requests: 23 59 ICMP messages sent ....
5.显示端口监听输入
要显示当前正在侦听输入的进程的所有端口,请使用选项 -l 或者 -listening,如下所示。
# netstat -l Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:findviatv 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ms-wbt-server 0.0.0.0:* LISTEN ....
6. 显示组播组成员信息
-g 或者 -groups 选项显示 IPv4 和 IPv6 的多播组成员信息。
该选项的示例如下。
# netstat -g IPv6/IPv4 Group Memberships Interface RefCnt Group --------------- ------ -------------------- lo 1 all-systems.mcast.net eth0 1 all-systems.mcast.net lo 1 ff02::1 lo 1 ff01::1 eth0 1 ff02::1:ff84:1048 eth0 1 ff02::1 eth0 1 ff01::1
netstat 命令显示当前的 TCP/IP 网络连接、路由表、接口统计信息、伪装连接和多播成员。
ss 命令提供转储套接字统计信息,但也显示类似于 netstat 的信息。
存在许多命令行选项和参数,但 netstat 本身显示打开的套接字列表。
套接字是用户进程和内核中网络协议栈之间的接口。
协议模块分为 AF_INET、AF_IPX 和 AF_PACKET 等协议族和 SOCK_STREAM 或者 SOCK_DGRAM 等套接字类型。
如果不指定任何地址族,则会打印所有已配置地址族的活动套接字。
与 netstat 一起使用的更多选项
下表列出了一些可与 netstat 命令一起使用的更多选项,以在网络端收集更多信息数据。
选项 | 描述 |
---|---|
-n or -numeric | 显示 IP 地址而不是解析的名称。 |
-c or -continuous | 每秒连续打印信息。 |
-e or -extend | 显示附加信息。 使用此选项两次以获得最大的细节。 |
-p or -program | 显示每个套接字所属程序的PID和名称。 |
任何无效的选项或者参数都会显示一个帮助屏幕,列出用法和可用选项的简要说明。