# Linux
# 显示监听中的端口
netstat -ntlp
netstat -ntlpu
1
2
2
-n:显示数字形式的地址和端口号,而不是尝试解析主机名或服务名。-p:显示每个连接的进程ID(PID)和程序名称。-l:仅显示监听状态的套接字。-t:显示TCP协议的连接。-u:显示UDP协议的连接。
作用:列出所有监听状态的TCP和UDP连接,以及对应的进程信息。
# 显示进程明细
netstat -npltu|grep -E 'tcp|udp'|awk '$7 != "" {print $7}'| cut -d'/' -f1|xargs -I{} ps -p {} -o pid,cmd,%mem,%cpu
1
netstat -npltu-n:显示数字形式的地址和端口号,而不是尝试解析主机名或服务名。-p:显示每个连接的进程ID(PID)和程序名称。-l:仅显示监听状态的套接字。-t:显示TCP协议的连接。-u:显示UDP协议的连接。
作用:列出所有监听状态的TCP和UDP连接,以及对应的进程信息。
grep -E 'tcp|udp'-E:使用扩展正则表达式。'tcp|udp':匹配包含“tcp”或“udp”的行。
作用:过滤出与TCP或UDP相关的连接。
awk '$7 != "" {print $7}'$7:表示netstat输出中的第7列(通常是进程信息,格式为PID/进程名)。!= "":确保第7列不为空。{print $7}:打印第7列的内容。
作用:提取出非空的进程信息(
PID/进程名)。cut -d'/' -f1-d'/':指定分隔符为/。-f1:提取第一个字段(即PID)。
作用:从
PID/进程名中提取出PID。xargs -I{} ps -p {} -o pid,cmd,%mem,%cpu-I{}:将前一个命令的输出替换到{}位置。ps -p {} -o pid,cmd,%mem,%cpu:-p {}:根据PID查询进程信息。-o pid,cmd,%mem,%cpu:指定输出格式,包括PID、命令(cmd)、内存占用百分比(%mem)和CPU占用百分比(%cpu)。
作用:根据提取的
PID,查询并显示每个进程的详细信息。