linux如何查询端口

发布时间:2022-03-10 09:40:03 作者:iii
来源:亿速云 阅读:257

Linux如何查询端口

在Linux系统中,查询端口的使用情况是系统管理和网络调试中的常见任务。无论是检查某个端口是否被占用,还是查看某个服务正在监听哪些端口,掌握相关的命令和技巧都非常重要。本文将介绍几种常用的方法来查询端口信息。

1. 使用netstat命令

netstat是一个功能强大的网络工具,可以显示网络连接、路由表、接口统计信息等。要查询端口信息,可以使用以下命令:

netstat -tuln

例如,要查看所有TCP和UDP监听端口,可以运行:

netstat -tuln

输出示例:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
udp        0      0 0.0.0.0:68              0.0.0.0:*                          

2. 使用ss命令

ssnetstat的现代替代品,提供了更快的性能和更丰富的功能。要查询端口信息,可以使用以下命令:

ss -tuln

例如,要查看所有TCP和UDP监听端口,可以运行:

ss -tuln

输出示例:

Netid  State      Recv-Q Send-Q Local Address:Port       Peer Address:Port      
tcp    LISTEN     0      128    0.0.0.0:22              0.0.0.0:*              
tcp    LISTEN     0      128    :::80                   :::*                   
udp    UNCONN     0      0      0.0.0.0:68              0.0.0.0:*              

3. 使用lsof命令

lsof(List Open Files)命令可以列出系统中所有打开的文件,包括网络端口。要查询某个端口的使用情况,可以使用以下命令:

lsof -i :端口号

例如,要查看端口80的使用情况,可以运行:

lsof -i :80

输出示例:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx    1234 root    6u  IPv4  12345      0t0  TCP *:http (LISTEN)

4. 使用nmap命令

nmap是一个网络扫描工具,可以用来扫描主机上的开放端口。要扫描本机的端口,可以使用以下命令:

nmap localhost

例如,要扫描本机的所有端口,可以运行:

nmap localhost

输出示例:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

5. 使用fuser命令

fuser命令可以显示使用某个端口的进程ID。要查询某个端口的使用情况,可以使用以下命令:

fuser -n tcp 端口号

例如,要查看端口80的使用情况,可以运行:

fuser -n tcp 80

输出示例:

80/tcp:               1234

6. 使用iptables命令

iptables是Linux中的防火墙工具,可以用来查看和管理端口转发规则。要查看当前的端口转发规则,可以使用以下命令:

iptables -L -n -v

例如,要查看所有端口转发规则,可以运行:

iptables -L -n -v

输出示例:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80

7. 使用systemctl命令

systemctl是系统服务管理工具,可以用来查看某个服务的端口信息。要查看某个服务的端口信息,可以使用以下命令:

systemctl status 服务名

例如,要查看nginx服务的端口信息,可以运行:

systemctl status nginx

输出示例:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2023-10-01 12:00:00 UTC; 1h ago
 Main PID: 1234 (nginx)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nginx.service
           ├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─1235 nginx: worker process

结论

在Linux系统中,查询端口信息的方法多种多样,每种方法都有其适用的场景。掌握这些命令和技巧,可以帮助你更好地管理和调试网络服务。无论是使用netstatsslsofnmapfuseriptables还是systemctl,都可以轻松地获取所需的端口信息。

推荐阅读:
  1. linux中怎么查看端口
  2. netstat:查询端口和进程信息

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:css边框样式是什么

下一篇:es6中map和foreach有哪些区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》