linux netstat 网络端口占用查询
可以通过端口号查询进程, 也可以通过进程查询使用的端口号
检查端口是否被占用
netstat 查看某个端口是否被某个进程占用
netstat -nap | grep port-number
netstat -nap | grep pid-number
lsof 检查端口
sudo lsof -i :6080
由进程检查端口
netstat -nap | grep pid
netstat -nap | grep pid
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ sudo netstat -nap | grep 264947
tcp 0 0 0.0.0.0:6080 0.0.0.0:* LISTEN 264947/docker-proxy
`lsof -p pid
lsof -p pid, 返回信息里有LISTEN端口.
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ sudo lsof -p 264947
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 264947 root cwd DIR 252,2 4096 2 /
docker-pr 264947 root rtd DIR 252,2 4096 2 /
docker-pr 264947 root txt REG 252,2 2176502 6045 /usr/bin/docker-proxy
docker-pr 264947 root mem REG 252,2 2216304 8423 /usr/lib/x86_64-linux-gnu/libc.so.6
docker-pr 264947 root mem REG 252,2 240936 8384 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
docker-pr 264947 root 0r CHR 1,3 0t0 5 /dev/null
docker-pr 264947 root 1w CHR 1,3 0t0 5 /dev/null
docker-pr 264947 root 2w CHR 1,3 0t0 5 /dev/null
docker-pr 264947 root 4u IPv4 1787677 0t0 TCP *:6080 (LISTEN)
docker-pr 264947 root 6u a_inode 0,14 0 12443 [eventpoll]
docker-pr 264947 root 7r FIFO 0,13 0t0 1787678 pipe
docker-pr 264947 root 8w FIFO 0,13 0t0 1787678 pipe
docker-pr 264947 root 9r FIFO 0,13 0t0 1958327 pipe
docker-pr 264947 root 10w FIFO 0,13 0t0 1958327 pipe
docker-pr 264947 root 11r FIFO 0,13 0t0 1958328 pipe
docker-pr 264947 root 12w FIFO 0,13 0t0 1958328 pipe
注意需要使用超管权限
注意需要使用root账号或者sudo, 不然某些端口查询结果返回为空, 还以为没有被占用.
error:不使用sudo账号
不使用sudo账号检查端口, lsof返回为空, netstat则无法显示对应的进程id.
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ lsof -i:6080
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ netstat -nap | grep 6080
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:6080 0.0.0.0:* LISTEN -
tcp6 0 0 :::6080 :::* LISTEN -
使用sudo账号
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ sudo lsof -i:6080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 264947 root 4u IPv4 1787677 0t0 TCP *:6080 (LISTEN)
docker-pr 264952 root 4u IPv6 1787688 0t0 TCP *:6080 (LISTEN)
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ sudo netstat -nap | grep 6080
tcp 0 0 0.0.0.0:6080 0.0.0.0:* LISTEN 264947/docker-proxy
tcp6 0 0 :::6080 :::* LISTEN 264952/docker-proxy
进一步检查对应的进程
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ ps aux | grep 264947
root 264947 0.0 0.0 1155756 0 ? Sl 12:20 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6080 -container-ip 172.19.0.2 -container-port 6080
ubuntu@VM-0-4-ubuntu:/data/project/ranger$ ps aux | grep 264952
root 264952 0.0 0.0 1082024 704 ? Sl 12:20 0:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6080 -container-ip 172.19.0.2 -container-port 6080
linux端口和进程查询
通过进程查看占用端口
1、先查看进程pid
ps -ef | grep 进程名
2、通过pid查看占用端口
netstat -nap | grep 进程pid
操作实例:
通过nginx进程查看对应的端口号
#查看nginx进程pid:
命令:
ps -ef | grep nginx
结果:
root 9836 1 0 Jul11 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 9841 9836 0 Jul11 ? 00:00:09 nginx: worker process
#通过nginx进程pid查看占用端口(进程pid为9836)
命令:
netstat -nap | grep 9836
结果:
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 9836/nginx
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 9836/nginx
tcp 0 0 0.0.0.0:8082 0.0.0.0:* LISTEN 9836/nginx
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 9836/nginx
通过端口查看进程
netstat -nap | grep 端口号
-p 显示端口进程
例:查看8081号端口对应的进程名
命令:
netstat -nap | grep 8081
结果:
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 9836/nginx
nslookup
杂七杂八网络信息
域名nslookup
nslookup可以查询dns,可以指定dns server进行查询.
local地址
(ocx) ➜ ~ nslookup gz.oss.vpc.tencentyun.com
Server: 10.11.56.23
Address: 10.11.56.23#53
** server can't find gz.oss.vpc.tencentyun.com: NXDOMAIN
(ocx) ➜ ~ nslookup gz.oss.vpc.tencentyun.com 9.208.232.140
;; connection timed out; no servers could be reached
内网地址
[root@VM-84-106-centos ~]# nslookup gz.oss.vpc.tencentyun.com 9.208.232.140
Server: 9.208.232.140
Address: 9.208.232.140#53
Non-authoritative answer:
Name: gz.oss.vpc.tencentyun.com
Address: 9.31.48.54
[root@VM-84-106-centos ~]# nslookup gz.oss.vpc.tencentyun.com
Server: 9.164.192.14
Address: 9.164.192.14#53
Non-authoritative answer:
Name: gz.oss.vpc.tencentyun.com
Address: 9.31.48.54
[root@VM-84-106-centos ~]# nslookup sv.oss.vpc.tencentyun.com
Server: 9.164.192.14
Address: 9.164.192.14#53
** server can't find sv.oss.vpc.tencentyun.com: NXDOMAIN
[root@VM-84-106-centos ~]# nslookup sv.oss.vpc.tencentyun.com 9.208.232.140
Server: 9.208.232.140
Address: 9.208.232.140#53
** server can't find sv.oss.vpc.tencentyun.com: NXDOMAIN