Linux如何查看和检查系统端口占用情况?

赞赏 2016-07-12

在 Linux 使用过程中,如果需要了解当前系统开放了哪些端口,及这些端口的关联进程和用户,可以通过 netstat 命令进行查询。


 使用 netstat 来查看端口占用情况


netstat 命令各参数说明如下:

  • -t:指明显示 TCP 端口

  • -u指明显示 UDP 端口

  • -l仅显示监听套接字

  • -p显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

  • -n不进行 DNS 轮询,显示 IP (可以加速操作


常用的 netstat 命令组合


netstat -na

该命令将显示所有活动的网络连接。

同时,还可以结合使用 grep、wc、sort 等 linux 命令来分析系统中连接情况,查看连接数状况,判断服务器是否被攻击。

 

netstat -an | grep :80 | sort

显示所有 80 端口的网络连接并排序。这里的 80 端口是 http 端口,所以可以用来监控 web 服务。如果看到同一个 IP 有大量连接,则判定该 IP 疑似存在单点流量攻击行为。

 

netstat -n -p|grep SYN_REC | wc -l

统计当前服务器有多少个活动的 SYNC_REC 连接数。正常来说这个值很小(小于 5

说明:当有 DDos 攻击或时,该值可能会非常高。但有些并发很高的服务器,值也确实很高,因此该很高并不能说明一定是被攻击所致。

 

netstat -n -p | grep SYN_REC | sort -u

列出所有连接过的 IP 地址。

 

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

列出所有发送 SYN_REC 连接节点的 IP 地址。

 

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

计算每个主机连接到本机的连接数。

 

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出所有连接到本机的 UDP 或者 TCP 连接的 IP 数量。

 

netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

检查 ESTABLISHED 连接并且列出每个 IP 地址的连接数量。

 

netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

列出所有连接到本机 80 端口的 IP 地址及其连接数。80 端口一般是用来处理 HTTP 网页请求。

 

netstat -antp | awk '$4 ~ /:80$/ {print $4" "$5}' | awk '{print $2}'|awk -F : {'print $1'} | uniq -c | sort -nr | head -n 10

显示连接到 80 端口连接数排名前 10 的 IP,并显示每个 IP 的连接数。如果看到同一个 IP 有大量连接,则判定该 IP 疑似存在单点流量攻击行为


如何停止端口占用


可以通过如下步骤来停止端口占用:

  1. 查找端口占用的进程
    使用如下命令来查看(以查看9000端口为例):

    netstat -antp | grep 9000

    示例输出:
    QQ???20151231065836.png
       

  2. 可以看到 PID 为 1070 的进程占用了这个端口。

  3. 停止相应进程即可。

登陆后阅读全文
阅读 1654 赞赏 0 有用 0 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

阿里云·业务运营团队内部的前端构建和工程化工具 Dawn开源

阿里云云盾扫描服务器的的IP段有哪些?

阿里云云盾扫描服务器的的IP段有哪些?

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章