开发者社区> 问答> 正文

Linux实例通过netstat命令查看和检查系统端口信息怎么处理?

Linux实例通过netstat命令查看和检查系统端口信息怎么处理?

展开
收起
小天使爱美 2020-03-25 23:46:02 2579 0
2 条回答
写回答
取消 提交回答
  • 目前从事大数据开发,兼顾平台搭建以及实时数据分析,主要是用scala编写程序,涉及社区开源hadoop集群,emr集群,欢迎有相同兴趣的小伙伴来交流,共同进步。最近在参与flink-java实时开发。

    Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
    常见参数 -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态

    -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。

    使用如下:列出所有端口 netstat -a

    显示所有端口的统计信息 netstat -s
    更多可在命令行help查看

    2020-03-25 23:54:27
    赞同 展开评论 打赏
  • 概述 本文介绍了在Linux系统的实例中通过netstat命令查看系统端口信息的使用。

    详细信息 阿里云提醒您:

    如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 本文主要介绍在Linux系统中netstat命令的以下几种用法。 netstat命令使用介绍 netstat命令常用的命令组合 netstat命令处理端口占用

    netstat命令使用介绍 netstat命令通常是用来监控TCP/IP网络的工具,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。如果需要了解当前系统开放了哪些端口,及这些端口的关联进程和用户,可以通过netstat命令进行查询。此处介绍了netstat命令的语法和参数,步骤如下。

    使用语法 netstat [$Parameter] 注:[$Parameter]为netstat命令参数。

    命令参数 参数说明如下。

    -a或--all:显示所有连接中的Socket。 -A:列出该网络类型连接中的相关地址。 -c或--continuous:持续列出网络状态。 -C或--cache:显示路由器配置的缓存信息。 -e或--extend:显示额外的网络相关信息。 -t:仅显示TCP端口。 -u:仅显示UDP端口。 -l:仅显示监听套接字。 -p:显示进程标识符和程序名称,每一个套接字或端口都属于一个程序。 -n:不进行DNS轮显示IP,可以加速操作。 --help:命令用法帮助。

    netstat命令常用的命令组合 通常结合grep、wc或sort等命令来分析系统连接情况和连接数状态,可以判断服务器是否被攻击,命令组合使用介绍参考如下。

    执行如下命令,显示所有活动的网络连接。 netstat -na 执行如下命令,显示所有指定端口的网络连接并排序。如果该指定端口被Web服务进程监听,就可以通过查看该指定端口监控Web服务。如果看到同一个IP有大量连接,则判定该IP疑似存在单点流量攻击行为。 netstat -an | grep :[$Port] | sort 注:[$Port]为Linux系统指定的端口号。 执行如下命令,统计当前服务器有多少个活动的指定服务连接数。正常来说这会很小,一般小于5。在遭受DDoS攻击时,会造成该值会很高,但是该值并不能用来判断是否遭受DDoS攻击,因为在高并发服务器上,该值也会很高。

    netstat -n -p|grep [$Server] | wc -l 注:[$Server]指需要查看的服务名或进程名。 执行如下命令,列出所有与指定服务连接点连接过的IP地址。 netstat -n -p | grep [$Server] | sort -u 执行如下命令,列出所有发送指定服务连接点的IP地址。 netstat -n -p | grep [$Server] | awk '{print $5}' | awk -F: '{print $1}' 执行如下命令,统计所有连接到本机的IP地址。 netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 执行如下命令,统计所有TCP和UDP连接到本机的IP和连接次数。 netstat -anp | egrep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 执行如下命令,检查ESTABLISHED连接并且统计出每个IP地址的连接次数。 netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr 执行如下命令,统计出连接到指定端口的IP地址连接次数,并列出排名前10的IP地址信息和该IP地址的连接次数。如果有单个IP地址存在大量连接,则判断为该IP地址是单点流量攻击行为。 netstat -antp |awk '$4 ~ /:80$/ {print $4" "$5}'|awk '{print $2}'|awk -F : {'print $1'}|uniq -c|sort -nr|head -n 10

    netstat命令处理端口占用 执行如下命令,根据对应的端口号,查找出对应端口号占用的进程信息。 netstat -antp | grep [$Port] 执行如下命令,根据以上步骤获取的进程ID号,结束指定进程,解决端口占用问题。 kill -9 [$PID] 注:[$PID]为上一步获取到的指定端口PID进程号。

    2020-03-25 23:54:09
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载