「Linux如何查看端口号?完整操作命令解析」 (linux查看端口号命令)

Linux如何查看端口号?完整操作命令解析

在Linux系统中,网络通讯过程中一个重要的概念是端口号。简单来说,端口号就是一个数字,它用于标识网络通讯中的进程,方便数据的传输和接收。在Linux中,有时我们需要查看某个端口号是否被占用,或者查看系统中所有的端口号等信息。本文将介绍在Linux中如何查看端口号,包括完整的操作命令解析。

一、检查特定端口号是否被占用

我们可以使用netstat命令来检查指定的端口号是否被占用。该命令通常用来监控系统的网络连接情况并打印出相关统计数据。以下是查看端口11211是否被占用的命令:

“`bash

netstat -anp | grep 11211

“`

在此,-anp选项分别表示列出所有已建立的连接、使用数值IP地址、使用数字端口号、以及列出进行相关操作的进程的PID和名称。而grep命令则用于查找指定的端口号是否存在。如果该端口号被占用,则会输出相关信息,否则则不会有任何结果。提示信息如下:

“`

tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 684/memcached

“`

在示例中,端口号11211被Memcached进程占用,可以看出该进程的PID为684。如果该端口未被占用,则不会有任何输出。

二、查看系统中被占用的端口号

如果想查看系统中被占用的所有端口号,可以使用以下命令:

“`bash

netstat -aptn

“`

此命令的参数意义如下:

– -a选项表示显示所有的端口;

– -p选项表示显示与端口相关联的进程标识符PID和进程名;

– -t选项表示只显示TCP监听端口。

该命令会输出系统中当前被占用的端口号和相关进程信息,如下:

“`

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1903/sshd

tcp6 0 0 :::80 :::* LISTEN 1863/apache2

tcp6 0 0 :::22 :::* LISTEN 1903/sshd

“`

可以看到,系统的22端口被sshd进程占用,80端口被apache2进程占用。

三、通过Nmap工具扫描所有端口

如果想扫描所有端口,可以使用Nmap工具,该工具用于网络探测、端口扫描等功能,可以用来检查安全漏洞或者监测网络服务状态。以下是使用Nmap扫描本机所有端口的命令:

“`bash

sudo nmap -sS 127.0.0.1

“`

在此命令中,127.0.0.1是被扫描IP地址, -sS表示使用TCP SYN扫描技术,该技术用于检测所有的TCP端口。命令执行后,Nmap将从1到65535扫描所有可用的端口并输出相关结果,结果如下:

“`

Starting Nmap 7.60 ( https://nmap.org ) at 2023-07-11 21:55 CDT

Nmap scan report for localhost (127.0.0.1)

Host is up (0.00014s latency).

Not shown: 65530 closed ports

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http

631/tcp open ipp

3306/tcp open mysql

5432/tcp open postgresql

Nmap done: 1 IP address (1 host up) scanned in 0.31 seconds

“`

可以看到,上述命令扫描了本机的所有端口,并输出了开放的端口信息。从结果中,可以看到系统的22、80、631、3306和5432端口都处于开放状态。

通过上述命令可以查看端口是否被占用,或者监控系统中所有端口的具体使用情况。在日常维护和管理系统时,及时了解端口的占用情况是非常重要的。

相关问题拓展阅读:

linux如何查看端口

介绍怎贺宽么查看进程 怎么删除进程 怎么圆拍答橘慧查看端口 怎么查看端口占用

x使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询

netstat命令各个参数说明如下:

  -t : 指明显示TCP端口

  -u : 指明显示UDP端口

  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

 唤培 -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

  -n : 不进行DNS轮询,显示IP(可以加速操作)

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp //查看当前所有tcp端口·

netstat -ntulp |grep 80 //查看所有80端口使用情况·

netstat -ntulp | grep//查看所有3306端口使用情况·

Linux查看程序端口占用情况

使用命令:

ps -aux | grep tomcat

发现并没有8080端口的Tomcat进程。

使用命令:netstat –apn

查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name

发现8080端口被PID为9658的Java进程占用。

进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看

就可以明确知道8080端口是被亮圆哪个程序占用了!然后判断是否使用KILL命令干掉!

方法二:直接使用 netstat -anp | grep portno

即:netstat -anp|grep 8080

netstat -anp|grep> tcp 0 0.0.0.0: 0.0.0.0:* LISTEN/java

ps -aux | grep> r/local/tomcat9-jforum/tomcat

安装lsof list open files//—也可以 netstat -tunlp|grep 端口号 netstat -anp|grep 端口号

yum install lsof

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 用以显示符合条件的进程情况

lsof -i

> IPv4 or IPv6

protocol –> TCP or UDP

hostname –> Internet host name

hostaddr –> IPv4地址

service –> /etc/service中的 service name (可以不止一个)

port –> 端口号 (可以不止一个)

lsof -i //显示所有打开的端口

lsof -i:80 //显示所有打开80端口的进程

lsof -i -U //显示所有打开的端口和UNIX domain文件

其实我一般这样用:

# lsof -i:3306

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mysqldmysql 19u IPv0t0 TCP *:mysql (LISTEN)

mysqldmysql 39u IPv0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)

mysqldmysql 45u IPv0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)

linux 如何查看服务和端口

问:我该如何发现哪种服务正在某个特定端口上监听呢?我如何发现哪一个程序正在一个特定端口上监听呢? 答:在*NIX系统中,你可以使用下面的任何一个命令来得到在一个特定TCP端口上监听的列表。 Lsof:其功能是列示打开的文件,包括监听端口。 netstat :此命令迟碧象征性地展示各种与网络有关的数据和信息的内容。 Lsof命令示例 你可以输入下面的命令来查看IPv4端口: # lsof -Pnl +M -i4 你可以输入下面的命令来查看IPv6协议下的端口列示: # lsof -Pnl +M -i6 此例输出:这里我们不妨解释一 下。之一栏是command,它给出了程序名称裂培的有关信息。请注意标题的细节。例如,第二行的gweather* 命令从美国 NWS服务器(140.90.128.70)获取天气的报告信息,包括交互天气信息网络和其它的天气服务。在这里,我们解释一下命令各个参数。 1. -P :这个选项约束着网络文件的端口号到端口名称的转换。约束转换可以使lsof运行得更快一些。在端口名称的查找不能奏效时,这是很有用的。 2. -n : 这个选项约束着网络文件的端口号到主机名称的转换。约束转换可以使lsof的运行更快一些。在主机名称的查找不能奏效时,它非常有用。 3. -l :这个选项约束着用户ID号到登录名的转换。在登录名的查找不正确或很慢时,这个选项就很有用。 4. +M :此选项支持本地TCP和UDP端口映射程序的注册报告。 5. -i4 :仅列示IPv4协议下的端口。 6. -i6 : 仅列示IPv6协议下的端口。 Netstaty命令举例 请输入下面的命令: # netstat -tulpn 或者是 # netstat -npl 请看输出结果:: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:6881 0.0.0.0:* LISTEN 6908/pythontcp.0.0.1:631 0.0.0.0:* LISTEN 5562/cupsdtcp.0.0.1:3128 0.0.0.0:* LISTEN 6278/(squid)tcp.0.0.1:25 0.0.0.0:* LISTEN 5854/exim4udp 0 0 0.0.0.0:.0.0.0:* 6278/(squid)udp 0 0 0.0.0.0:3130 0.0.0.0:* 6278/(squid)udp 0 0 0.0.0.0:68 0.0.0.0:* 4583/dhclient3udp 0 0 0.0.0.0:6881 0.0.0.0:* 6908/python 请注意,最后一栏给出了关于程序名称和端口的信息。在这里,我们解释一下各参数的含义: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序) -p : 显示进程标识符和程序名称,每一个套接字/端口码源举都属于一个程序。 -n : 不进行DNS轮询(可以加速操作) 关于/etc/services文件 /etc/services是一个纯ASCII文件,它可以提供互联网服务的友好文本名称,还有其默认分配的端口号和协议类型。你可以借助于cat命令或less命令等来查看这个文件: $ cat /etc/services$ grep 110 /etc/services$ less /etc/services

netstat/lsof  

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况  

-a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接)  

-n 显示所有已建立的有效连接  

-t tcp协议  

-u udp协议  

-l 查询正在监听的程序  

-p 显示乱态正在使用socket的程序识别码和程序名称  

例如:netstat -ntupl|grep processname  

如何只查询tomcat的连接?  

netstat -na|grep ESTAB |grep 80 |wc-l  

netstat -na|grep ESTAB |grep 8080 |wc-l  

常用端口介绍:  

端口:21  

服务:FTP服务器所开放的端口,用于上传、下载。  

端口: 22  

服务:ssh  

端口: 80  

服务:HTTP 用于网页浏览  

端口:389  

服务:LDAP ILS 轻型目录访问协议和NetMeetingInternet Locator Server  

端口:443  

服务:链亩网页浏览端口 能提供加密和通过安全端口传输的另一种HTTP  

端口:8080  

服务:代理端口  

打开终端,执行如下命令,查看各进程占用端口情况:  

# ps -ef|wc -l //查看后台运行的进程总数  

# ps -fu csvn //查看csvn进程  

# netstat -lntp //查看开启了哪些端口  

# netstat -r //本选项可以显示关于路由表的信息  

# netstat -a //本选项显示一个所有的有效连接信息列表  

# netstat -an|grep

# netstat -na|grep -i listen //可以看到目前系统侦听的端口号  

# netstat -antup //查看已建立的连接进程,所棚陪森占用的端口。  

netstat -anp|grep1487  

lsof -i:1487  

  可以通过netstat命令进行简单查询

  netstat命令各个参数说明如下:

  -t : 指明显示TCP端口

  -u : 指明显示UDP端口

  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

  -p : 显示进程标识符和程序名称,每一个套接伏陪字升扮/端口都属于一个程序。

  -n : 不进行DNS轮询,显示IP(可以加速操作)

  3

  即可显示当前服缺笑蠢务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

  netstat -ntlp //查看当前所有tcp端口·

  netstat -ntulp |grep 80 //查看所有80端口使用情况·

  netstat -an | grep//查看所有3306端口使用情况·

关于linux查看端口号命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 「Linux如何查看端口号?完整操作命令解析」 (linux查看端口号命令)