1.netstat命令

用于查看服务进程,启动端口,进程PID


2.netstat命令的使用方法

语法:

netstat [选项]


选项:

-r:列出路由表,功能同 route 命令。

-a:所有 all ,常用-an

-t:列出TCP数据包

-u:列出UTP数据包

-n:不列出进程名称,显示端口号。

-l:列出在网络监听的服务。

-p:列出网络进程PID。

-c:设置几秒钟更新一次。例如:-c 5。


常用的命令:

netstat  -[rn]  与路由相关 

netstat  -[lnp]  常用查询功能 

netstat  -[antulpc]  与网络接口有关


3.实例

查看监听的端口和 socket

netstat -lnp

1.png


Active Internet是网络部分

Proto:网络数据包协议 包括tcp和udp

Recv-Q:不是由用户进程连接socket的复制的总字节数。

Send-Q:不是由远程主机传来的acknowledged总字节。

Local Address:本地IP和端口

Foreign Address:远程主机的ip和端口

State:连接状态 建立(ESTABLISED)和监听(LISTEN)


Active UNIX是系统自己的进程部分

Proto:一般为unix

RefCnt:连接到此的socket的进程数量。

Flags:连接的标识。

Type:socket访问类型。主要有确认连接的(STREAM)和不需要确认的(DGRAM)。

State:为CONNECTED表示多个进程已确认连接。

Path:连接到此socket的相关进程的路径。

4.扩展

4.1 列出所有状态以及该状态的任务的数量

netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

2.png