狠狠躁夜夜躁人人爽野战天天你的位置:最近2019中文字幕在线高清 > 狠狠躁夜夜躁人人爽野战天天 > Linux中是谁占用了我的端口
Linux中是谁占用了我的端口

发布日期:2022-06-18 17:01    点击次数:177

  

Linux中是谁占用了我的端口

Address already in use这个教唆,想必全球碰到过,若何能快速找到问题并搞定呢?底下有几种姿势不错了解一下.

在对网罗衔接或特定于欺诈举止的问题进行故障摈斥时,当先要搜检的事情之一应该是系统上本色使用了哪些端口,以及哪个欺诈举止正在侦听特定的端口。

本文先容了如何使用netstat,ss和lsof大叫找出哪些干事正在侦听哪些端口。该评释适用于通盘基于Linux和Unix的操作系统,举例macOS。

# 什么是监听端口

网罗端口由其编号,关联的IP地址和通讯条约(举例TCP或UDP)的类型记号。

侦听端口是欺诈举止或程度在其上侦听的网罗端口,充任通讯端点。

每个监听端口都不错使用防火墙翻开或关闭(过滤)。一般而言,通达端口是一个网罗端口,它禁受来自而已位置的传入数据包。

你不行让两个干事监听归拢IP地址上的归拢端口。

举例,若是你正在开动一个监听端口80和443的Apache Web干事器,而况尝试安设Nginx ,则后者将无法启动,因为HTTP和HTTPS端口是一经在使用中。

# 用netstat搜检监听端口

netstat是一个大叫行器具,不错提供关连网罗衔接的信息。

要列出通盘正在侦听的TCP或UDP端口,包括使用端口的干事和套接字景象,请使用以下大叫:

sudo netstat -tunlp 

此大叫中使用的选项具有以下含义:

-t-败露TCP端口。 -u -败露UDP端口。 -n -败露数字地址而不是领路主机。 -l -仅败露监听端口。 -p -败露侦听器程度的PID和称呼。仅当你以root用户或 sudo 用户身份开动大叫时,才会败露此信息。

输出将如下所示:

 

Proto Recv-Q Send-Q Local Address   Foreign Address     State       PID/Program name       tcp        0      0 0:22              0:*               LISTEN      445/sshd               tcp        0      0 0:25              0:*               LISTEN      929/master             tcp6       0      0 :::3306           ::*               LISTEN      534/mysqld             tcp6       0      0 :::80             :::*              LISTEN      515/apache2            tcp6       0      0 :::22             :::*              LISTEN      445/sshd               tcp6       0      0 :::25             :::*              LISTEN      929/master             tcp6       0      0 :::33060          :::*              LISTEN      534/mysqld             udp        0      0 0:68              0:*                           966/dhclient   

在咱们的案例中,裂缝的几列是:

Proto-套接字使用的条约。 Local Address -程度侦听的IP地址和端标语。 PID/Program name -PID和程度称呼。

若是要过滤成果,请使用 grep大叫。举例, 中文字幕人妻丝袜乱一区三区要查找在TCP端口22上侦听的程度,你不错输入:

sudo netstat -tnlp | grep :22 

输出败露此瞎想机上的端口22被SSH干事器使用:

 

tcp        0      0 0:22              0:*               LISTEN      445/sshd   tcp6       0      0 :::22             :::*              LISTEN      445/sshd   

若是输出为空,则暗示端口上莫得监听。

你也不错字据条目过滤列表,举例PID,条约,景象等。

netstat已逾期,被ss和 ip 取代,但它仍然是搜检网罗衔接的最常用大叫。

# 用ss

搜检监听端口

ss是新的netstat。它枯竭netstat的某些功能,可是公开了更多的TCP景象,而况速率稍快。大叫选项基本商量,狠狠躁夜夜躁人人爽野战天天因此从netstat到ss的颐养并不贫寒。

要使用ss取得通盘监听端口的列表,请输入:

sudo ss -tunlp 

输出与netstat论说的输出竟然商量:

 

State    Recv-Q   Send-Q     Local Address:Port      Peer Address:Port                                                                                           LISTEN   0        128              0:22             0:*      users:(("sshd",pid=445,fd=3))                                                           LISTEN   0        100              0:25             0:*      users:(("master",pid=929,fd=13))                                                        LISTEN   0        128                    *:3306                 *:*      users:(("mysqld",pid=534,fd=30))                                                        LISTEN   0        128                    *:80                   *:*      users:(("apache2",pid=765,fd=4),("apache2",pid=764,fd=4),("apache2",pid=515,fd=4))      LISTEN   0        128                 [::]:22                [::]:*      users:(("sshd",pid=445,fd=4))                                                           LISTEN   0        100                 [::]:25                [::]:*      users:(("master",pid=929,fd=14))                                                        LISTEN   0        70                     *:33060                *:*      users:(("mysqld",pid=534,fd=33))   

# 使用lsof

搜检监听端口

lsof是功能重大的大叫行欺诈举止,可提供关连程度翻开的文献的信息。

在Linux中,通盘内容都是文献。你不错将套接字视为写上钩罗的文献。

要取得具有lsof的通盘侦听TCP端口的列表,请输入:

sudo lsof -nP -iTCP -sTCP:LISTEN 

使用的选项如下:

-n-不要将端标语颐养为端口称呼。 -p -不明析主机名,败露数字地址。

-iTCP -sTCP:LISTEN -仅败露TCP景象为LISTEN的网罗文献。

 

COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME   sshd      445     root    3u  IPv4  16434      0t0  TCP *:22 (LISTEN)   sshd      445     root    4u  IPv6  16445      0t0  TCP *:22 (LISTEN)   apache2   515     root    4u  IPv6  16590      0t0  TCP *:80 (LISTEN)   mysqld    534    mysql   30u  IPv6  17636      0t0  TCP *:3306 (LISTEN)   mysqld    534    mysql   33u  IPv6  19973      0t0  TCP *:33060 (LISTEN)   apache2   764 www-data    4u  IPv6  16590      0t0  TCP *:80 (LISTEN)   apache2   765 www-data    4u  IPv6  16590      0t0  TCP *:80 (LISTEN)   master    929     root   13u  IPv4  19637      0t0  TCP *:25 (LISTEN)   master    929     root   14u  IPv6  19638      0t0  TCP *:25 (LISTEN)   

大大批输出列称呼都是不言自明的:

COMMAND,PID,USER-开动与端口关联的举止的称呼,PID和用户。 NAME -端标语。

要查找正在侦听特定端口(举例端口3306)的程度,不错使用:

sudo lsof -nP -iTCP:3306 -sTCP:LISTEN 

输出败露MySQL干事器使用端口3306:

 

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME  mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) 

 



Powered by 最近2019中文字幕在线高清 @2013-2022 RSS地图 HTML地图