netstat命令使用详解
netstat命令用于显示各种网络信息,如当前机器的网络连接状态,路由表,接口状态等等。
基本信息
执行netstat命令,其结果主要包括两个部分。
- Active Internet connections (servers and established),称为有源TCP链接,包括TCP和UDP等的详细状态
- Active UNIX domain sockets (servers and established)。称为有源Unix域套接口。
示例:
|
|
有源TCP链接字段详解:
- Proto : 当前链接的协议。如TCP,UDP
- Recv-Q : 网络接收队列
- Send-Q : 网络发送队列
- Local Address : 本机的ip:端口(注意此处127.0.0.1默认显示主机名,0.0.0.0默认显示*,端口可能显示别名。若强制显示数字,加-n参数)
- Foreign Address:对端IP:端口。与local address规则相同
- State : 当前套接字的网络状态。
有源Unix域套接口字段详解
- proto : 当前链接的协议,一般为Unix
- RefCnt : 连接段本端口上的进程号
- Type:套接字的类型,stream或 DGRAM
- state : 当前套接字的状态
- I-Node : 当前socket对应的inode号
- Path : 连接到套接口的其它进程使用的路径名。
netstat常用参数
- -a : 显示所有选项
- -t : 显示所有与TCP相关的选项
- -u : 显示所有与UDP相关的选项
- -x : 显示所有与Unix域相关的套接字选项
- -n : 拒绝显示别名,能显示数字的全部转换为数字显示
- -p : 显示建立相关连接的程序名。
- -l : 显示所有状态为Listen的连接
- -e : 显示扩展信息,如当前链接所对应的用户
- -c : 间隔一段时间执行一次netstat命令。
- -s : 显示统计信息。对每种类型进行汇总
netstat常用组合
- netstat -anp : 显示所有的网络连接,并拒绝显示别名,同时打印该连接对应的程序名
- netstat -lt : 显示所有正在监听状态的tcp连接
- netstat -lu : 显示所有正在监听状态的udp连接