Linux netstat命令详解( 二 )

显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
# netstat -st # netstat -su 4. 在 netstat 输出中显示 PID 和进程名称 netstat -pnetstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序 。
# netstat -pt Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local AddressForeign AddressStatePID/Program name tcp10 ramesh-laptop.loc:47212 192.168.185.75:wwwCLOSE_WAIT2109/firefox tcp00 ramesh-laptop.loc:52750 lax:www ESTABLISHED 2109/firefox 5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)当你不想让主机,端口和用户名显示,使用 netstat -n 。将会使用数字代替那些名称 。
同样可以加速输出,因为不用进行比对查询 。
# netstat -an如果只是不想让这三个名称中的一个被显示,使用以下命令
# netsat -a --numeric-ports# netsat -a --numeric-hosts# netsat -a --numeric-users 6. 持续输出 netstat 信息netstat 将每隔一秒输出网络信息 。
# netstat -c Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local AddressForeign AddressState tcp00 ramesh-laptop.loc:36130 101-101-181-225.ama:www ESTABLISHED tcp11 ramesh-laptop.loc:52564 101.11.169.230:wwwCLOSING tcp00 ramesh-laptop.loc:43758 server-101-101-43-2:www ESTABLISHED tcp11 ramesh-laptop.loc:42367 101.101.34.101:wwwCLOSING ^C 7. 显示系统不支持的地址族 (Address Families)netstat --verbose在输出的末尾,会有如下的信息
netstat: no support for `AF IPX' on this system.netstat: no support for `AF AX25' on this system.netstat: no support for `AF X25' on this system.netstat: no support for `AF NETROM' on this system. 8. 显示核心路由信息 netstat -r# netstat -r Kernel IP routing table DestinationGatewayGenmaskFlagsMSS Windowirtt Iface 192.168.1.0*255.255.255.0U0 00 eth2 link-local*255.255.0.0U0 00 eth2 default192.168.1.10.0.0.0UG0 00 eth2注意: 使用 netstat -rn 显示数字格式,不查询主机名称 。
 9. 找出程序运行的端口并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息 。
# netstat -ap | grep ssh tcp10 dev-db:ssh101.174.100.22:39213CLOSE_WAIT- tcp10 dev-db:ssh101.174.100.22:57643CLOSE_WAIT-找出运行在指定端口的进程
# netstat -an | grep ':80' 10. 显示网络接口列表# netstat -i Kernel Interface table IfaceMTU MetRX-OK RX-ERR RX-DRP RX-OVRTX-OK TX-ERR TX-DRP TX-OVR Flg eth01500 0000 00000 BMU eth21500 02619600 026883600 BMRU lo16436 0400 04000 LRU显示详细信息,像是 ifconfig 使用 netstat -ie:
# netstat -ie Kernel Interface table eth0Link encap:EthernetHWaddr 00:10:40:11:11:11 UP BROADCAST MULTICASTMTU:1500Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)TX bytes:0 (0.0 B) Memory:f6ae0000-f6b0000011. IP和TCP分析查看连接某服务端口最多的的IP地址
wss8848@ubuntu:~$ netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -2018 221.136.168.363 154.74.45.2422 78.173.31.2362 62.183.207.982 192.168.1.142 182.48.111.2152 124.193.219.342 119.145.41.22 114.255.41.301 75.102.11.99TCP各种状态列表
wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'established)ForeignLISTENTIME_WAITESTABLISHEDTIME_WAITSYN_SENT先把状态全都取出来,然后使用uniq -c统计,之后再进行排序 。wss8848@ubuntu:~$ netstat -nat |awk '{print $6}'|sort|uniq -c143 ESTABLISHED1 FIN_WAIT11 Foreign1 LAST_ACK36 LISTEN6 SYN_SENT113 TIME_WAIT1 established)最后的命令如下:netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn分析access.log获得访问前10位的ip地址awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10



推荐阅读