查看各个状态的tcp连接情况
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
shell
/^tcp/
正则表达式匹配 netstat 命令输出的匹配部分,即以 "TCP" 开始的行
{++S[$NF]}
对于符合条件的每一行,awk 命令将使用数组 S 来计算每种连接状态的连接数
$NF 代表每行最后一列,也就是连接状态字符串,将其用作数组 S 的键,连接数作为该键的值
END {for(a in S) print a, S[a]}
在处理完所有输入后,awk 将使用 END 模式块来打印出每种状态连接数的总和
通过 iteration 数组 S 的键和值,然后将它们打印出来
netstat -tnp tcp
显示所有处于 tcp 协议的连接的当前状态
打印端口443的进程信息
lsof -i :443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
抓包
tcpdump -i -n -X port <port_number>
在该命令中,将 替换为要监听的网络接口名和 <port_number> 替换为要监听的端口号。-n 选项告诉 tcpdump 显示数字格式的IP地址和端口号, -X 选项则指示将标头和内容具体数据 16 进制格式输出。
当运行该命令时,tcpdump 将捕获和显示通过指定接口上特定端口的网络流量,并将打印出每个接收到或发送的数据包的详细信息,包括数据包的类型、源和目标IP地址、端口号、帧大小等等。