Netstat命令的功能是linux系统下,用于显示网络连接状态、路由表和网络接口信息的工具,可让用户准确判断有哪些网络连接正在运作。如果不带参数使用时,netstat显示会活动 TCP 连接。我们一般用netstat -an 来显示所有连接的端口并用数字表示。
一、参数
netstat作为系统随带的命令工具,无需安装,直接使用即可!
a——显示所有选项。
t ——显示tcp相关选项。
u——显示udp相关选项。
n——拒绝显示别名,能显示数字的全部转化成数字。
l——仅列出有在 Listen (监听) 的服务状态。
p——显示建立相关链接的程序名。
r——显示路由信息,路由表。
e——显示扩展信息,例如uid等。
s——按各个协议进行统计 (重要)。
c——每隔一个固定时间,执行该netstat命令。
二、实例
1、直接使用netstat命令,能列出目前的活跃端口。
Netstat
2、netstat -ap | grep ‘程序名’,以ssh为例。
netstat -ap |grep ‘ssh’
3、netstat -ap | grep ‘端口号’,以22为例。
netstat -ap | grep 22
4、列出 TCP 协议的连接。
netstat -at
5、列出所有处于监听状态的 Sockets。
netstat -l
链路状态,共有11种
state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。
备注
SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。
ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。
FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。