一、通过netstat命令查看端口占用情况
netstat -apn | grep LISTEN
netstat用于显示网络状态信息,-a参数表示显示所有连接及监听端口,-p参数表示显示进程(程序)名与PID(进程号),-n参数表示不进行域名转换(数字形式显示IP地址),grep LISTEN表示查找所有处于监听状态的端口。
通过该命令可以得到输出结果中的第一个字段为协议类型,第二个字段为接口IP地址,第三个字段为端口号,第四个字段为进程(PID/程序)名。
二、通过lsof命令查看端口占用情况
sudo lsof -i :端口号
lsof命令用于显示Linux系统中已经打开的文件列表,-i参数表示进行网络相关的检索,:端口号表示检索指定的端口号。
通过该命令可以得到输出结果中的第一个字段为进程(PID/程序)名,第二字段为进程的PID,第三个字段为用户,第四个字段为文件描述符,第五个字段为类型,第六个字段为设备,第七个字段为节点,第八个字段为名称,第九个字段为状态。
三、通过ss命令查看端口占用情况
sudo ss -nlt
ss命令用于获取套接字连接、统计Socket状态信息等,-n参数表示禁止将网络地址和端口号按照服务名称和主机名进行解析,-l参数表示查看所有监听的端口,-t参数表示查看TCP协议的连接。
通过该命令可以得到输出结果中的第一个字段为协议类型,第二个字段为接口IP地址,第三个字段为端口号,第四个字段为状态(SLISTEN表示监听中),第五个字段为队列长度,第六个字段为,第七个字段为PID/程序名。
四、通过nmap命令查看端口占用情况
sudo nmap -sT -O localhost
nmap命令用于网络探测和安全审核的工具,-sT参数表示以TCP连接的方式进行扫描,-O参数表示进行操作系统探测,localhost表示扫描目标。
通过该命令可以得到输出结果中的第一个字段为端口号,第二个字段为协议,第三个字段为状态(open表示开启状态),第四个字段为服务名称与版本号,第五个字段为操作系统。
五、通过iptables命令查看端口占用情况
sudo iptables -L -n -v
iptables是Linux上一个用于网络管理的工具,-L参数表示列出规则链表,-n参数表示在输出规则时不进行域名解析,-v参数表示输出详细的信息。
通过该命令可以得到输出结果中的第一个字段为规则类型,第二个字段为包数量,第三个字段为流量大小,第四个字段为规则应用范围,第五个字段为源IP,第六个字段为目的IP,第七个字段为源端口,第八个字段为目的端口,第九个字段为协议类型,第十个字段为规则名。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理