如何查询端口怎么查询号 详解端口怎么查询号的查询方法?

端口是 Linux 系统上特定进程之间逻辑连接的标识,包括物理端口和软件端口。软件端口始终与主机的 IP 地址和相关的通信协议相关联,因此端口常用于区分应用程序。大部分涉及到网络的服务都必须打开一个套接字来监听传入的网络请求,而每个服务都使用一个独立的套接字。套接字是和 IP 地址、软件端口和协议结合起来使用的,而端口号对传输控制协议(TCP)和用户数据报协议(UDP)协议都适用,TCP 和 UDP 都可以使用 0 到 65535 之间的端口号进行通信。以下是端口分配类别:0 - 1023: 常用端口和系统端口1024 - 49151: 软件的注册端口49152 - 65535: 动态端口或私有端口注意:端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1、netstat
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。默认情况下,netstat 会列出打开的套接字。如果不指定任何地址族,则会显示所有已配置地址族的活动套接字。
使用方式netstat [选项] [参数]
命令参数-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
查看端口使用状态最常用指令netstat
-anp
grep
端口号
查看某一端口的连接数量,比如3306端口netstat -pnt
grep :3306
wc
1.1、查看服务器上服务和端口netstat -nultp该命令是查看当前所有已经使用的端口情况netstat -anp
grep 82查看82端口的使用情况可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了1.2、查看某个端口是否被占用=netstat -anp
grep 3306主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。2、lsof:进程打开文件的相关信息lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。使用格式lsof [options] filename
参数说明-a 指示其它选项之间为与的关系
-c <进程名> 输出指定进程所打开的文件
-d <文件描述符> 列出占用该文件号的进程
+d <目录>
输出目录及目录下被打开的文件和目录(不递归)
+D <目录>
递归输出及目录下被打开的文件和目录
-i <条件>
输出符合条件与网络相关的文件
-n 不解析主机名
-p <进程号> 输出指定 PID 的进程所打开的文件,不解析端口号
-t 只输出 PID
-u 输出指定用户打开的文件
-U 输出打开的 UNIX domain socket 文件
-h 显示帮助信息
-v 显示版本信息
lsof可以查看打开的文件是:普通文件
目录
网络文件系统的文件
字符或设备文件
(函数)共享库
管道、命名管道
符号链接
网络文件(例如:NFS file、网络socket,unix域名socket)
还有其它类型的文件,等等
输入:lsofCOMMAND
PID
TID
USER
FD
TYPE
DEVICE
SIZE/OFF
NODE NAME
systemd
1
root
cwd
DIR
253,1
4096
2 /
systemd
1
root
rtd
DIR
253,1
4096
2 /
systemd
1
root
txt
REG
253,1
1523568
1053845 /usr/lib/systemd/systemd
systemd
1
root
mem
REG
253,1
20040
1050452 /usr/lib64/libuuid.so.1.3.0
systemd
1
root
mem
REG
253,1
261336
1051899 /usr/lib64/libblkid.so.1.1.0
systemd
1
root
mem
REG
253,1
90664
1050435 /usr/lib64/libz.so.1.2.7
systemd
1
root
mem
REG
253,1
157424
1050447 /usr/lib64/liblzma.so.5.2.2
systemd
1
root
mem
REG
253,1
23968
1050682 /usr/lib64/libcap-ng.so.0.0.0
systemd
1
root
mem
REG
253,1
19888
1050666 /usr/lib64/libattr.so.1.1.0
COMMAND:进程的名称
PID:进程标识符
TID:线程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件,一般有以下取值:
cwd:表示current work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录
txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,表示程序的可执行文件
mem:表示内存映射文件
0:表示标准输出
1:表示标准输入
2:表示标准错误
u 表示该文件被打开并处于读取/写入模式。
r 表示只读模式,
w 表示只写模式
TYPE:文件类型,常见的文件类型有以下几种:
DIR:表示目录
CHR:表示字符类型
BLK:块设备类型
UNIX:UNIX域套接字
FIFO:先进先出(FIFO)队列
IPv4:网际协议(IP)套接字
DEVICE:指定磁盘的名称
SIZE/OFF:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
2.1、列出80端口目前打开的文件列表命令:lsof -i :80COMMAND
PID
USER
FD
TYPE
DEVICE SIZE/OFF NODE
NAME
nginx
8838
root
8u
IPv4 114512623
0t0
TCP
*:http (LISTEN)
nginx
12886 jelly
8u
IPv4 114512623
0t0
TCP
*:http (LISTEN)
nginx
12887 jelly
8u
IPv4 114512623
0t0
TCP
*:http (LISTEN)
列出指定范围内被打开的 TCP 端口$ sudo -i TCP:1-1024
2.2、列出所有的网络连接命令:lsof -i,选项默认会同时输出 IPv4 和 IPv6 打开的文件:COMMAND
PID
USER
FD
TYPE
DEVICE SIZE/OFF NODE NAME
ntpd
856
ntp
16u
IPv4
13105
0t0
UDP *:ntp
ntpd
856
ntp
17u
IPv6
13106
0t0
UDP *:ntp
ntpd
856
ntp
18u
IPv4
13210
0t0
UDP localhost:ntp
ntpd
856
ntp
19u
IPv4
13211
0t0
UDP jellythink:ntp
vsftpd
1613
root
3u
IPv6
17867
0t0
TCP *:ftp (LISTEN)
php-fpm
4037 jelly
0u
IPv4
60908335
0t0
TCP localhost:cslistener (LISTEN)
sshd
8503
root
3u
IPv4
197060
0t0
TCP *:50022 (LISTEN)
nginx
8838
root
8u
IPv4 114512623
0t0
TCP *:http (LISTEN)
nginx
8838
root
9u
IPv4 114512624
0t0
TCP *:https (LISTEN)
php-fpm
9059 jelly
0u
IPv4
60908335
0t0
TCP localhost:cslistener (LISTEN)
php-fpm
9137 jelly
0u
IPv4
60908335
0t0
TCP localhost:cslistener (LISTEN)
命令:lsof -i tcp
说明:列出所有的TCP网络连接信息
命令:lsof -i udp
说明:列出所有的UDP网络连接信息
命令:lsof -i tcp:80
说明:列出80端口TCP协议的所有连接信息
命令:lsof -i udp:25
说明:列出25端口UDP协议的所有连接信息
2.3、查看进程打开了某个文件$ sudo lsof /bin/bash
直接指定文件的名称作为 lsof 的参加就可以查看哪些进程打开了这个文件,下面的命令查询打开了 /bin/bash 文件的进程:
查看哪些进程打开了某个目录及目录下的文件1、这里分两种情况,+d 选项不执行递归查询,只查找那些打开了指定目录以及指定目录下文件和目录的进程,比如:$ sudo lsof +d /var/log
2、而 +D 选项则会对指定的目录进行递归:$ sudo lsof +D /var/log
查看某个进程打开的所有文件ps -p PID
通过 -p 选项并指定进程的 PID 可以输出该进程打开的所有文件。
比如我们想要查看 cron 程序打开的文件,可以先用 ps -C cron 命令查出进程的 PID:然后把该 PID 传递给 lsof 命令的 -p 选项:$ sudo lsof -p 1152
查看指定名称的程序打开的文件通过 -c 选项可以匹配进程运行的程序(可执行文件)名称。比如我们要查找以字母 cr 开头的程序打开的文件列表:$ sudo lsof -c cr
2.4、查看某个用户打开的所有文件-u 选项可以指定用户名或 user ID,并且和 -c 选项一样,可以通过逗号分隔多个用户名称或 user ID$ sudo lsof -u syslog
1、https://www.cnblogs.com/hindy/p/7249234.html2、https://www.jellythink.com/archives/4493、https://www.cnblogs.com/sparkdev/p/10271351.html
1. 查看所有运行的端口C:\Users\Administrator>netstat -ano
活动连接
协议
本地地址
外部地址
状态
PID
TCP
0.0.0.0:135
0.0.0.0:0
LISTENING
1248
TCP
0.0.0.0:445
0.0.0.0:0
LISTENING
4
TCP
0.0.0.0:1026
0.0.0.0:0
LISTENING
996
TCP
0.0.0.0:1034
0.0.0.0:0
LISTENING
1004
TCP
0.0.0.0:2235
0.0.0.0:0
LISTENING
51144
TCP
0.0.0.0:3306
0.0.0.0:0
LISTENING
4788
TCP
0.0.0.0:5040
0.0.0.0:0
LISTENING
7548
3. 查看被占用端口对应的PIDC:\Users\Administrator>netstat -ano
findstr "1248"
TCP
0.0.0.0:135
0.0.0.0:0
LISTENING
1248
TCP
[::]:135
[::]:0
LISTENING
1248
5. 查看指定PID的进程C:\Users\Administrator>tasklist
findstr "1248"
svchost.exe
1248 Services
0
39,244 K
7. 结束进程tasklist /T /F /PID 1248

我要回帖

更多关于 端口怎么查询 的文章

 

随机推荐