『运维备忘录』之 Netstat 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大家喜欢。

今天我们要讲的是 Netstat


一、简介

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。使用时如果不带参数,netstat显示活动的 TCP 连接。

netstat基本语法:

netstat [-a] [-b] [-e] [-n] [-o] [-p <Protocol>] [-r] [-s] [<interval>]

二、基本用法

2.1. 查看监听

参数说明
netstat -ltunp所有监听端口
netstat -ltn监听 TCP 端口
netstat -lun监听 UDP 端口
netstat -lx监听 Unix 端口
netstat -lt仅列出侦听 TCP 端口
netstat -lu仅列出侦听 UDP 端口
netstat -l列出所有监听条件

2.2. 查看网络

参数说明
netstat -i显示网络接口
netstat -ie显示网络接口扩展信息
netstat -n仅显示 IP 地址
netstat -F尽可能显示 IP 地址的域名

2.3. 查看统计数据

参数说明
netstat -s显示统计信息
netstat -st显示 TCP 统计信息
netstat -su显示 UDP 统计信息
netstat -ltpe使用进程信息和扩展信息显示 TCP 的侦听连接
netstat -tp显示带有 PID 编号的服务名称
sudo netstat -nlpt列出进程名称/PID 和用户 ID
netstat -nlptue所有带有 PID 和扩展信息的侦听端口
netstat -M显示伪装的连接

2.4. 查看路由

参数说明
netstat -r显示路由表
netstat -rn显示路由表,不解析主机

2.5. 查看连接

参数说明
netstat -a所有连接
netstat -at所有 TCP 连接
netstat -au所有 UDP 连接
netstat -ant显示没有反向 DNS 查找的 IP 地址
netstat活动连接
netstat -a所有连接
netstat -at所有 TCP 连接
netstat -au所有 UDP 连接
netstat -ant显示没有反向 DNS 查找的 IP 地址
netstat -tnl监听 TCP 端口
netstat -unl监听 UDP 端口
netstat -atnp | grep ESTA显示活动/已建立的连接
netstat -anp | grep":8080"显示到特定端口的所有打开连接
netstat --tcp --numeric显示没有域名的 TCP 连接
watch -d -n0 "netstat -atnp | grep ESTA"获取活动连接的连续列表
netstat -aple | grep http检查服务是否正在运行

三、进阶命令

3.1. 显示具有大量连接的 IP

$ netstat -tn 2>/dev/null | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head

3.2. 显示连接到端口 80 的 IP 地址

$ netstat -tn 2>/dev/null | grep ':80 ' | awk '{print $5}' |sed -e 's/::ffff://' | cut -f1 -d: | sort | uniq -c | sort -rn | head

3.3. 显示端口 80 上的活动连接数

$ netstat -an |grep :80 |wc -l

3.4. 查看每个远程 IP 的连接数

$ netstat -antu | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -n

$ netstat -antu | awk '$5 ~ /[0-9]:/{split($5, a, ":"); ips[a[1]]++} END {for (ip in ips) print ips[ip], ip | "sort -k1 -nr"}'

3.5. 显示活动 SYNC_REC

以下命令将输出服务器上正在发生和正在发生的活动 SYNC_REC 数量。数量应该很低(小于 5)。如果该数字为两位数,则您可能正在遭受 DoS 攻击或被邮件轰炸。

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

列出发送 SYN_REC 连接的唯一 IP 地址,该命令也列出了发送 SYN_REC 连接状态的节点的所有唯一 IP 地址:

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

总结:netstat命令是我们定位网络相关问题的利器,大家可以在自己的环境里面多多尝试看看效果,实践出真知。

  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪字节π

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值