您的位置:首页 > 其它

netstat

2016-04-23 20:56 666 查看
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态等等。

常见参数:

   -a (all)显示所有选项,默认不显示LISTEN相关

   -t (tcp)仅显示tcp相关选项

   -u (udp)仅显示udp相关选项

   -n 拒绝显示别名,能显示数字的全部转化成数字。

   -l 仅列出有在 Listen (监听) 的服務状态

   -p 显示建立相关链接的程序名

   -r 显示路由信息,路由表

   -e 显示扩展信息,例如uid等

   -s 按各个协议进行统计

   -c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

实用命令实例

1.列出所有端口

列出所有端口 $netstat -a

列出所有tcp端口 $netstat -at

列出所有udp端口 $netstat -au

2.列出所有监听状态

只显示监听端口 $netstat -l

只列出所有监听TCP端口 $netstat -lt

只列出所有监听UDP端口 $netstat -lu

只列出所有监听UNIX端口 $netstat -lx

3.显示每个协议的统计信息

显示所有端口的统计信息 $netstat -s

显示TCP或UDP端口的统计信息 $netstat -st 或 -su

4.显示PID和进程名称

netstat -p

5.不显示主机,端口和用户名

当不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

netstat -an,同样可以加速输出,因为不用进行比对查询。

如果只是不想让这三个名称中的一个被显示,使用以下命令:

netsat -a --numeric-ports

netsat -a --numeric-hosts

netsat -a --numeric-users

6.持续输出netstat信息

netstat -c  #将每隔一秒输出网络信息。

7.找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。

netstat -ap | grep ssh

找出运行在指定端口的进程:

netstat -an | grep':80'

8. 显示网络接口列表

netstat -i

netstat -ie

显示详细信息,像是 ifconfig 使用 netstat -ie.

在linux下,如何查看服务器的并发连接数呢?使用以下命令即可分组查看各种连接状态:

    netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  

返回结果示例:

    LAST_ACK 5   (正在等待处理的请求数)

    SYN_RECV 30

    ESTABLISHED 1597 (正常数据传输状态)

    FIN_WAIT1 51

    FIN_WAIT2 504

    TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

 状态:描述

    CLOSED:无连接是活动的或正在进行

    LISTEN:服务器在等待进入呼叫

    SYN_RECV:一个连接请求已经到达,等待确认

    SYN_SENT:应用已经开始,打开一个连接

    ESTABLISHED:正常数据传输状态

    FIN_WAIT1:应用说它已经完成

    FIN_WAIT2:另一边已同意释放

    ITMED_WAIT:等待所有分组死掉

    CLOSING:两边同时尝试关闭

    TIME_WAIT:另一边已初始化一个释放

    LAST_ACK:等待所有分组死掉

使用这上面的命令是可以查看服务器的种连接状态,其中ESTABLISHED 就是并发连接状态的显示数。如果仅仅只是想查看并发连接数,可以简化一下命令,即:

    netstat -nat|grep ESTABLISHED|wc -l 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: