更新时间:2024-01-10 17:21:47   作者:网友投稿   来源:网友投稿点击:
netstat 命令用来显示网络状态,利用 netstat 指令可让得知Windows或 Linux 系统的网络连接或侦听状态情况。
使用方法:
Windows系统,在命令行CMD输入“netstat /?”,可以看到netstat命令的使用用法;
Windows下netstat /?
linux系统,输入“man netstat”或“netstat --help”,可以看到netstat的使用用法;
man netstat
netstat --help或netstat -h
Windows系统中netstat当前连接的状态:
1,如咱们的电脑哪个程序用哪个IP哪个端口和远程的某个IP端口通讯,命令如“netstat -b”;
2,如“netstat -a”,可以显示所有的状态;
3,如“netstat -n”,以数字形式显示IP和端口号,而不是名称名字;
4,如“netstat -o”,显示当前连接拥有的关联的进程 ID;通过此ID可以在任务管理器中看到是哪个程序在执行;
通过netstat获取的ID,在任务管理器中查看是哪个程序在运行
Linux系统中netstat当前哪个IP端口正在侦听状态:
netstat -la
现实中,具体情况具体分析,用netstat可以显示指定协议“TCP、UDP、TCPv6 或 UDPv6”的连接状态,与“-s”选项一起还可以用来显示每个协议的统计等。
查看Ip:Port到Ip:Port连接状态
1,SYN(Synchronize Sequence Numbers):仅在三次握手建立TCP连接时有效,表示一个新的TCP连接请求。
2,ACK(Acknowledgement Number):是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。
3,FIN(FINish):用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据。
4,LISTEN:服务端需要打开一个socket进行监听,状态为LISTEN,侦听来自远方TCP端口的连接请求 。
5,SYN_SENT:发送一个SYN请求建立一个连接之后状态置为SYN_SENT,在发送连接请求后等待匹配的连接请求。
6,SYN_RECV:对端发出ACK确认客户端的SYN,同时自己向客户端发送一个SYN, 之后状态置为SYN_RECV ,在收到和发送一个连接请求后等待对连接请求的确认 。
7,ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。
8,FIN_WAIT1:主动关闭连接,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态,等待远程TCP的连接中断请求,或先前的连接中断请求的确认。
9,CLOSE_WAIT:被动关闭接到FIN后,就发出ACK以回应FIN请求,并进入CLOSE_WAIT, 等待从本地用户发来的连接中断请求 。
10,FIN_WAIT2:主动关闭端接到ACK后,就进入了FIN-WAIT2 ,从远程等待连接中断请求。
11,LAST_ACK:被动关闭端过一段时间后,也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK ,等待原来发向远程的连接中断请求的确认。
12,TIME_WAIT标志在主动关闭端接收到FIN后,就发送ACK包,将自己的状态由FIN_WAIT2修改为TIME_WAIT,并进入TIME-WAIT状态,等待足够的时间以确保远程接收到连接中断请求的确认。
13,CLOSING:比较少见, 等待远程TCP对连接中断的确认。
14,CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态,连接结束, 没有任何连接状态。