Netstat(kali linux)

一、Netstat
在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

二、常用选项

-a 显示所有socket(套接字,即ip地址加端口号,是传输层的端点),包括正在监听的。
-r 显示核心路由表
-s 显示每个协议的统计
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况

-n 不进行DNS轮询,显示IP(可以加速操作)
-l 仅显示监听套接字
-p 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序

三、常用命令

netstat 查看当前所有端口
-an 查看当前所有已连接端口
-nlpt 查看当前所有tcp端口
-nlpu 查看当前所有udp端口
-nlpt | grep 80 查看所有80端口使用情况(这里的t和80举一反三)

四、列名解释

运行netstat 命令

1.Active Internet connections (servers and established) 活动的网络连接(服务的和已经连接的)

Proto 协议名
Recv-Q Send-Q 接收队列和发送队列。都应该是0,如果不是则表示软件包正在队列中堆积
Local Address 本地地址
Foreign Address 外部地址
State 显示套接口当前的状态

2.Active UNIX domain sockets (servers and established) 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)

Proto 协议名
RefCnt 表示连接到本套接口上的进程号
Flags 不知道啥意思,可能是标志的意思,我瞎猜的
Type 显示套接口的类型
State 显示套接口当前的状态
I-Node 存储节点
Path 表示连接到套接口的其它进程使用的路径名

Netstat(kali linux)
五、列名解释中的State:套接口当前的状态(对应TCP三次握手四次挥手)

LISTENING 侦听状态。该端口是开放的,等待连接,但还没有被连接
ESTABLISHED 连接状态。表示两台机器正在通信
TIME_WAIT 结束状态。说明端口曾经有过访问,但访问结束了

SYN_SENT 请求连接状态。要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT。但如果发现SYN_SENT非常多且在向不同的机器发出,那机器可能中毒了
FIN_WAIT 请求断开状态。第一个申请断开的机器有此状态
CLOSE_ACK 等待断开状态。接收到断开申请的机器有此状态
Netstat(kali linux)