首先,当你无法运行以下命令时候,请检查是否已经安装相应软件,您可以用以下命令安装:

# 安装 netstat 需要的组件
# CentOS 系列系统
yum install net-tools

# Ubuntu 和 Debian 系列系统
apt-get install net-tools
# 安装 lsof
# CentOS 系列系统
yum install lsof

# Ubuntu 和 Debian 
apt-get install lsof

netstat命令

netstat命令是在内核中访问网络及相关信息的命令,能够显示协议统计和当前TCP/IP的网络连接

netstat -ntlp

参数说明

  • -a或--all 显示所有连线中的Socket。
  • -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
  • -c或--continuous 持续列出网络状态。
  • -C或--cache 显示路由器配置的快取信息。
  • -e或--extend 显示网络其他相关信息。
  • -F或--fib 显示路由缓存。
  • -g或--groups 显示多重广播功能群组组员名单。
  • -h或--help 在线帮助。
  • -i或--interfaces 显示网络界面信息表单。
  • -l或--listening 显示监控中的服务器的Socket。
  • -M或--masquerade 显示伪装的网络连线。
  • -n或--numeric 直接使用IP地址,而不通过域名服务器。
  • -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或--timers 显示计时器。
  • -p或--programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或--route 显示Routing Table。
  • -s或--statistics 显示网络工作信息统计表。
  • -t或--tcp 显示TCP传输协议的连线状况。
  • -u或--udp 显示UDP传输协议的连线状况。
  • -v或--verbose 显示指令执行过程。
  • -V或--version 显示版本信息。
  • -w或--raw 显示RAW传输协议的连线状况。
  • -x或--unix 此参数的效果和指定"-A unix"参数相同。
  • --ip或--inet 此参数的效果和指定"-A inet"参数相同。

lsof命令

lsof(list open files)是一个列出当前系统打开文件的工具。

# 列出所有端口情况
lsof -i

# [端口] 换成在要查询的占用端口
lsof -i:[端口]
# 如查询 80 端口
lsof -i:80

更多命令

lsof -i:8080:查看8080端口占用
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -g gid:显示归属gid的进程情况
lsof +d /usr/local/:显示目录下被进程开启的文件
lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
lsof -d 4:显示使用fd为4的进程
lsof -i -U:显示所有打开的端口和UNIX domain文件

kill

在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:

# [pid] 换成在上面命令获得的进程PID
kill -9 PID

# 例如杀掉pid为6010的进程
kill -9 6010
届ける言葉を今は育ててる
最后更新于 2022-05-05