|
|
51CTO旗下网站
|
|
移动端

如何检查Linux中的开放端口列表?

最近,我们就同一主题写了两篇文章。这些文章内容帮助你如何检查远程服务器中给定的端口是否打开。

作者:Magesh Maruthamuthu来源:Linux中国|2019-04-17 09:50

最近,我们就同一主题写了两篇文章。这些文章内容帮助你如何检查远程服务器中给定的端口是否打开。

如果你想 检查远程 Linux 系统上的端口是否打开 请点击链接浏览。如果你想 检查多个远程 Linux 系统上的端口是否打开 请点击链接浏览。如果你想 检查多个远程 Linux 系统上的多个端口状态 请点击链接浏览。

但是本文帮助你检查本地系统上的开放端口列表。

在 Linux 中很少有用于此目的的实用程序。然而,我提供了四个最重要的 Linux 命令来检查这一点。

你可以使用以下四个命令来完成这个工作。这些命令是非常出名的并被 Linux 管理员广泛使用。

  • netstat:netstat (“network statistics”) 是一个显示网络连接(进和出)相关信息命令行工具,例如:路由表, 伪装连接,多点传送成员和网络端口。
  • nmap:Nmap (“Network Mapper”) 是一个网络探索与安全审计的开源工具。它旨在快速扫描大型网络。
  • ss: ss 被用于转储套接字统计信息。它也可以类似 netstat 使用。相比其他工具它可以展示更多的TCP状态信息。
  • lsof: lsof 是 List Open File 的缩写. 它用于输出被某个进程打开的所有文件。

如何使用 Linux 命令 netstat 检查系统中的开放端口列表

netstat 是 Network Statistics 的缩写,是一个显示网络连接(进和出)相关信息命令行工具,例如:路由表、伪装连接、多播成员和网络端口。

它可以列出所有的 tcp、udp 连接和所有的 unix 套接字连接。

它用于发现发现网络问题,确定网络连接数量。

  1. # netstat -tplugn
  2.  
  3. Active Internet connections (only servers)
  4. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  5. tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2038/master
  6. tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 1396/snmpd
  7. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1398/httpd
  8. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1388/sshd
  9. tcp6 0 0 :::25 :::* LISTEN 2038/master
  10. tcp6 0 0 :::22 :::* LISTEN 1388/sshd
  11. udp 0 0 0.0.0.0:39136 0.0.0.0:* 1396/snmpd
  12. udp 0 0 0.0.0.0:56130 0.0.0.0:* 1396/snmpd
  13. udp 0 0 0.0.0.0:40105 0.0.0.0:* 1396/snmpd
  14. udp 0 0 0.0.0.0:11584 0.0.0.0:* 1396/snmpd
  15. udp 0 0 0.0.0.0:30105 0.0.0.0:* 1396/snmpd
  16. udp 0 0 0.0.0.0:50656 0.0.0.0:* 1396/snmpd
  17. udp 0 0 0.0.0.0:1632 0.0.0.0:* 1396/snmpd
  18. udp 0 0 0.0.0.0:28265 0.0.0.0:* 1396/snmpd
  19. udp 0 0 0.0.0.0:40764 0.0.0.0:* 1396/snmpd
  20. udp 0 0 10.90.56.21:123 0.0.0.0:* 895/ntpd
  21. udp 0 0 127.0.0.1:123 0.0.0.0:* 895/ntpd
  22. udp 0 0 0.0.0.0:123 0.0.0.0:* 895/ntpd
  23. udp 0 0 0.0.0.0:53390 0.0.0.0:* 1396/snmpd
  24. udp 0 0 0.0.0.0:161 0.0.0.0:* 1396/snmpd
  25. udp6 0 0 :::123 :::* 895/ntpd
  26.  
  27. IPv6/IPv4 Group Memberships
  28. Interface RefCnt Group
  29. --------------- ------ ---------------------
  30. lo 1 224.0.0.1
  31. eth0 1 224.0.0.1
  32. lo 1 ff02::1
  33. lo 1 ff01::1
  34. eth0 1 ff02::1
  35. eth0 1 ff01::1

你也可以使用下面的命令检查特定的端口。

  1. # # netstat -tplugn | grep :22
  2.  
  3. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1388/sshd
  4. tcp6 0 0 :::22 :::* LISTEN 1388/sshd

如何使用 Linux 命令 ss 检查系统中的开放端口列表?

ss 被用于转储套接字统计信息。它也可以显示类似 netstat 的信息。相比其他工具它可以展示更多的 TCP 状态信息。

  1. # ss -lntu
  2.  
  3. Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
  4. udp UNCONN 0 0 *:39136 *:*
  5. udp UNCONN 0 0 *:56130 *:*
  6. udp UNCONN 0 0 *:40105 *:*
  7. udp UNCONN 0 0 *:11584 *:*
  8. udp UNCONN 0 0 *:30105 *:*
  9. udp UNCONN 0 0 *:50656 *:*
  10. udp UNCONN 0 0 *:1632 *:*
  11. udp UNCONN 0 0 *:28265 *:*
  12. udp UNCONN 0 0 *:40764 *:*
  13. udp UNCONN 0 0 10.90.56.21:123 *:*
  14. udp UNCONN 0 0 127.0.0.1:123 *:*
  15. udp UNCONN 0 0 *:123 *:*
  16. udp UNCONN 0 0 *:53390 *:*
  17. udp UNCONN 0 0 *:161 *:*
  18. udp UNCONN 0 0 :::123 :::*
  19. tcp LISTEN 0 100 *:25 *:*
  20. tcp LISTEN 0 128 127.0.0.1:199 *:*
  21. tcp LISTEN 0 128 *:80 *:*
  22. tcp LISTEN 0 128 *:22 *:*
  23. tcp LISTEN 0 100 :::25 :::*
  24. tcp LISTEN 0 128 :::22 :::*

你也可以使用下面的命令检查特定的端口。

  1. # # ss -lntu | grep ':25'
  2.  
  3. tcp LISTEN 0 100 *:25 *:*
  4. tcp LISTEN 0 100 :::25 :::*

如何使用 Linux 命令 nmap 检查系统中的开放端口列表?

Nmap (“Network Mapper”) 是一个网络探索与安全审计的开源工具。它旨在快速扫描大型网络,当然它也可以工作在独立主机上。

Nmap 使用裸 IP 数据包以一种新颖的方式来确定网络上有哪些主机可用,这些主机提供什么服务(应用程序名称和版本),它们运行什么操作系统(版本),使用什么类型的数据***滤器/防火墙,以及许多其他特征。

虽然 Nmap 通常用于安全审计,但许多系统和网络管理员发现它对于日常工作也非常有用,例如网络资产清点、管理服务升级计划以及监控主机或服务正常运行时间。

  1. # nmap -sTU -O localhost
  2.  
  3. Starting Nmap 6.40 ( http://nmap.org ) at 2019-03-20 09:57 CDT
  4. Nmap scan report for localhost (127.0.0.1)
  5. Host is up (0.00028s latency).
  6. Other addresses for localhost (not scanned): 127.0.0.1
  7. Not shown: 1994 closed ports
  8.  
  9. PORT STATE SERVICE
  10. 22/tcp open ssh
  11. 25/tcp open smtp
  12. 80/tcp open http
  13. 199/tcp open smux
  14. 123/udp open ntp
  15. 161/udp open snmp
  16.  
  17. Device type: general purpose
  18. Running: Linux 3.X
  19. OS CPE: cpe:/o:linux:linux_kernel:3
  20. OS details: Linux 3.7 - 3.9
  21. Network Distance: 0 hops
  22.  
  23. OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
  24. Nmap done: 1 IP address (1 host up) scanned in 1.93 seconds

你也可以使用下面的命令检查特定的端口。

  1. # nmap -sTU -O localhost | grep 123
  2.  
  3. 123/udp open ntp

如何使用 Linux 命令 lsof 检查系统中的开放端口列表?

它向你显示系统上打开的文件列表以及打开它们的进程。还会向你显示与文件相关的其他信息。

  1. # lsof -i
  2.  
  3. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  4. ntpd 895 ntp 16u IPv4 18481 0t0 UDP *:ntp
  5. ntpd 895 ntp 17u IPv6 18482 0t0 UDP *:ntp
  6. ntpd 895 ntp 18u IPv4 18487 0t0 UDP localhost:ntp
  7. ntpd 895 ntp 20u IPv4 23020 0t0 UDP CentOS7.2daygeek.com:ntp
  8. sshd 1388 root 3u IPv4 20065 0t0 TCP *:ssh (LISTEN)
  9. sshd 1388 root 4u IPv6 20067 0t0 TCP *:ssh (LISTEN)
  10. snmpd 1396 root 6u IPv4 22739 0t0 UDP *:snmp
  11. snmpd 1396 root 7u IPv4 22729 0t0 UDP *:40105
  12. snmpd 1396 root 8u IPv4 22730 0t0 UDP *:50656
  13. snmpd 1396 root 9u IPv4 22731 0t0 UDP *:pammratc
  14. snmpd 1396 root 10u IPv4 22732 0t0 UDP *:30105
  15. snmpd 1396 root 11u IPv4 22733 0t0 UDP *:40764
  16. snmpd 1396 root 12u IPv4 22734 0t0 UDP *:53390
  17. snmpd 1396 root 13u IPv4 22735 0t0 UDP *:28265
  18. snmpd 1396 root 14u IPv4 22736 0t0 UDP *:11584
  19. snmpd 1396 root 15u IPv4 22737 0t0 UDP *:39136
  20. snmpd 1396 root 16u IPv4 22738 0t0 UDP *:56130
  21. snmpd 1396 root 17u IPv4 22740 0t0 TCP localhost:smux (LISTEN)
  22. httpd 1398 root 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  23. master 2038 root 13u IPv4 21638 0t0 TCP *:smtp (LISTEN)
  24. master 2038 root 14u IPv6 21639 0t0 TCP *:smtp (LISTEN)
  25. sshd 9052 root 3u IPv4 1419955 0t0 TCP CentOS7.2daygeek.com:ssh->Ubuntu18-04.2daygeek.com:11408 (ESTABLISHED)
  26. httpd 13371 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  27. httpd 13372 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  28. httpd 13373 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  29. httpd 13374 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  30. httpd 13375 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)

你也可以使用下面的命令检查特定的端口。

  1. # lsof -i:80
  2.  
  3. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  4. httpd 1398 root 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  5. httpd 13371 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  6. httpd 13372 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  7. httpd 13373 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  8. httpd 13374 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)
  9. httpd 13375 apache 3u IPv4 20337 0t0 TCP *:http (LISTEN)

【编辑推荐】

  1. 如何在Fedora 30中设置内核命令行参数
  2. 深入浅出话Linux分区管理
  3. Linux中获取硬盘分区或文件系统的UUID的七种方法
  4. 三种实用方法解决Linux动态库依赖问题
  5. 如何借助restic应用程序通过网络备份Linux目录?
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Cisco网络技术教程(第2版)

本书作为思科认证体系中的入门级教材,主要讲述了网络的基本知识和思科设备的基本命令,以及路由、交换等深层次网络知识的入门知识,其体系...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客