Centos下和Win7下查看端口占用情况
Linux
netstat
参数说明
-v 罗嗦模式
-W 不截断IP地址
-n 不要解析地址、端口、用户等名称,这样打印会快很多
--numeric-hosts 包含在-n中
--numeric-ports 包含在-n中
--numeric-users 包含在-n中
-A family 指定协议, 可以是 inet, unix, ipx, ax25, netrom, ddp等,组合时用逗号隔开即可,效果同--inet,--unix(即-x),--ipx,--ax25,--netrom,--ddp一样,其中inet就是raw、tcp、udp的组合。
-c 连续打印
-e 打印更多信息(列)
-ee 打印更更多信息(列)
-o Include information related to networking timers
-p 显示pid和程序名
-l 只显示listening的socket
-a 显示listening和非listening的socket
-F Print routing information from the FIB. (这是默认的参数,可不用)
-C Print routing information from the route cache. (route cache 不了解)
-s 统计数据,用来观察网络情况,主要是IP,ICMP,TCP,UDP的收发情况
命令例子
# 会列出所有正在监听的端口及关联的进程/应用
netstat -nlp
# 除了监听的端口,还包含已经建立连接的端口
netstat -np
lsof
lsof是lists openfiles的缩写,在Linux中,网络套接口也是一种文件
# 查看所有端口使用情况
lsof -i
# 查看指定端口
lsof -i :portNumber
# 查看指定协议和端口
lsof -i tcp:portNumber
lsof -i udp:portNumber
# 查看指定协议
lsof -iTCP
lsof -iUDP
# 查看指定状态
lsof -i :80 | grep LISTEN
# 使用-u显示指定用户打开了什么
lsof -u daniel
# 指定用户以外的用户
lsof -u ^daniel
# 消灭指定用户运行的所有东西
kill -9 `lsof -t -u daniel`
# -c 查看指定的命令正在使用的文件和网络连接
lsof -c syslog-ng
# -p查看指定进程ID已打开的内容
lsof -p 10075
# 查看谁在用此目录,系统上所有正与其交互的资源——包括用户、进程等。
lsof /var/log/messages/
ss
专门用用于查看TCP/UDP的连接情况和统计,可以区分连接的不同状态
# 查看当前所有的tcp/udp连接情况汇总
ss -s
# 所有侦听的端口
ss -l
# 所有的tcp连接
ss -t -a
# 所有的udp连接
ss -u -a
Windows
Win7
列出所有端口的情况。在列表中我们观察被占用的端口
netstat -ano
查看被占用端口对应的PID,记下最后一位数字,即PID,这里是2720
netstat -aon|findstr "49157"
继续输入,查看是哪个进程或者程序占用了2720端口
tasklist|findstr "2720"
就能找到对应的exe文件了