命令格式
1 | netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip] |
命令功能
Linux netstat命令用于显示网络状态,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
命令参数
参数 | 说明 |
---|---|
-a / -all | 显示所有连接中的Socket |
-A<网络类型> / –<网络类型> | 列出该网络类型连接中的相关地址 |
-c / –continuous | 持续列出网络状态 |
-C / –cache | 显示路由器配置的快取信息 |
-e / –extend | 显示网络其他相关信息 |
-F / –fib | 显示FIB |
-g / –groups | 显示多重广播功能群组组员名单 |
-h / –help | 在线帮助 |
-i / –interfaces | 显示网络界面信息表单 |
-l / –listening | 显示监控中的服务器的Socket |
-M / –masquerade | 显示伪装的网络连线 |
-n / –numeric | 直接使用IP地址,而不通过域名服务器 |
-N / –netlink / –symbolic | 显示网络硬件外围设备的符号连接名称 |
-o / –timers | 显示计时器 |
-p / –programs | 显示正在使用Socket的程序识别码和程序名称 |
-r / –route | 显示路由表 |
-s / –statistice | 显示网络工作信息统计表 |
-t / –tcp | 显示TCP传输协议的连线状况 |
-u / –udp | 显示UDP传输协议的连线状况 |
-v / –verbose | 显示指令执行过程 |
-V / –version | 显示版本信息 |
-w / –raw | 显示RAW传输协议的连线状况 |
-x / –unix | 此参数的效果和指定”-A unix”参数相同 |
–ip / –inet | 此参数的效果和指定”-A inet”参数相同 |
使用示例
- netstat
1 | Active Internet connections (w/o servers) |
netstat
命令的输出结果可以分为两个部分:Active Internet connections(有源TCP连接),其中”Recv-Q”和”Send-Q”指的是接收队列和发送队列,这些数字一般都应该是0,如果不是则表示软件包正在队列中堆积;Active UNIX domain sockets(有源Unix域套接口),和网络套接字一样,但只能用于本机通信,性能可以提高一倍。
Proto显示连接使用的协议,RefCnt显示连接到本套接口上的进程号,Type显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
状态 | 说明 |
---|---|
LISTEN | 侦听来自远方的TCP端口的连接请求 |
SYN-SENT | 在发送连接请求后等待匹配的连接请求 |
SYN-RECEIVED | 在收到和发送一个连接请求后等待对方对连接请求的确认 |
ESTABLISHED | 一个打开的连接 |
FIN-WAIT-1 | 等待远程TCP连接中断请求,或先前的连接中断请求的确认 |
FIN-WAIT-2 | 从远程TCP等待连接中断请求 |
CLOSE-WAIT | 等待从本地用户发来的连接中断请求 |
CLOSING | 等待远程TCP对连接中断的确认 |
LAST-ACK | 等待原来的发向远程TCP的连接中断请求的确认 |
TIME-WAIT | 等待足够的时间以确保远程TCP接收到连接中断请求的确认 |
CLOSED | 没有任何连接状态 |
- netstat -a
1 | Active Internet connections (servers and established) |
显示所有有效连接的列表,包括ESTABLISHED、LISTENING的连接。
- netstat -nu
1 | Active Internet connections (w/o servers) |
显示当前UDP的连接情况
- netstat -apu
1 | Active Internet connections (servers and established) |
显示UDP端口号的使用情况
- netstat -i
1 | Kernel Interface table |
显示网卡列表
- netstat -g
1 | IPv6/IPv4 Group Memberships |
显示组播组的关系
- netstat -s
1 | Ip: |
显示网络统计信息
- netstat -l
1 | Active Internet connections (only servers) |
显示监听的套接口
- netstat -ap | grep python3
1 | tcp 0 0 *:us-srv *:* LISTEN 15484/python3 |
显示程序运行的端口
然后利用ps -ef | grep '15484'
命令可查找该端口运行的程序
1 | root 6262 946 0 15:45 pts/0 00:00:00 grep 15484 |
Read More: