大牛原文地址: https://linux.cn/article-3807-1.html
part1:简单的介绍一下netstat命令的主要作用:
1,可以查看系统当前的连接状态,不管是TCP连接还是udp协议连接,
2,以及每个连接的进程号、
3,是哪个应用程序、
4,连接所用的端口号,
part2: 先给大家在普及一个知识,那就是TCP连接的状态,TCP进行3次握手,其过程有很多状态,不同的连接状态,都有想对应的状态码,看下面列表:
- 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 -antp
#netstat -antp|grep 8080
这个命令可以查找出当前服务器有多少个活动的 SYNC_REC 连接。正常来说这个值很小,最好小于5。 当有Dos攻击或者邮件炸弹的时候,这个值相当的高
#netstat -n -p|grep SYN_REC | wc -l
类似命令,直接查看端口
#lsof -i:8080
#ps -aux|grep 8080
#ps -ef|grep 8080