如何使用 ss、netstat、lsof 和 nmap 扫描开放端口

举报
wljslmz 发表于 2022/12/13 21:34:07 2022/12/13
【摘要】 以下是使用端口扫描时会发现的一些常见端口:端口 21 – FTP(文件传输协议)端口 22 – SSH(安全外壳)端口 23 - Telnet端口 25 - SMTP(简单邮件传输协议)端口 53 - DNS(域名服务器)端口 80 - HTTP(超文本传输协议)端口 110 – POP3(邮局协议)端口 143 – IMAP(互联网消息访问协议)端口 443 – HTTPS(安全超文本传输...

以下是使用端口扫描时会发现的一些常见端口:

  • 端口 21 – FTP(文件传输协议)
  • 端口 22 – SSH(安全外壳)
  • 端口 23 - Telnet
  • 端口 25 - SMTP(简单邮件传输协议)
  • 端口 53 - DNS(域名服务器)
  • 端口 80 - HTTP(超文本传输协议)
  • 端口 110 – POP3(邮局协议)
  • 端口 143 – IMAP(互联网消息访问协议)
  • 端口 443 – HTTPS(安全超文本传输协议)

端口概况

  • 端口0到1023属于标准化端口,互联网编号分配机构 (IANA) 主要负责分配。
  • 默认情况下,端口号1024到49151是为注册服务保留的。但是,这些也分配给客户端程序,尤其是在涉及 Linux 系统时。
  • 端口49152到65535动态地将操作系统分配给客户端。

有很多可用的端口扫描工具,但您也可以使用以下 Linux 命令扫描任何目标机器的开放端口。

开放端口是允许建立完整的 TCP 连接的端口,在这种情况下,端口扫描器已找到响应扫描可用的端口并建立连接。

使用 ss 命令扫描开放端口

ss 命令用于转储套接字统计信息并以与 netstat 类似的方式显示信息,如下所述。

ss 命令还可以显示比大多数其他工具(如 netstat 或 lsof)更多的 TCP 和状态信息。

要使用ss显示正在侦听的 TCP 连接,命令是:

ss -tl

其中,t代表 TCP 端口,l代表侦听套接字。

要显示正在侦听的 UDP 连接,命令是:

ss -ul

其中u代表 UDP 端口。

如果你想同时显示 TCP 和 UDP 连接,命令是:

ss -lntup

其中p代表进程名称

如果要显示所有套接字连接,则可以简单地使用 ss命令。

使用 netstat 扫描开放端口

Netstat,提供所有网络活动的基本统计信息,并通知用户哪些端口和地址对应的连接(TCP、UDP)正在运行,以及哪些端口为任务打开。

要使用 netstat 检查所有打开的端口,命令是:

netstat -pnltu

其中p代表与服务关联的进程 ID,n代表数字编号。正在运行的端口,l代表侦听套接字,t代表 TCP 连接,u代表 UDP 连接。

在 Windows 操作系统中,您可以通过命令行 (cmd.exe) 使用 netstat 服务。

使用 lsof 命令扫描开放端口

lsof 是一个命令行实用程序,适用于所有 Unix 和 Linux 等操作系统,用于检查“打开文件列表”。

lsof 命令主要用于检索有关由各种进程打开的文件的信息,系统中打开的文件可以是不同类型的,如磁盘文件、网络套接字、命名管道和设备。

要显示打开的端口,请键入以下命令:

lsof -i

如果您只想显示打开的套接字,则可以使用:

lsof -n -P | grep LISTEN

要仅显示 TCP 连接,请键入:

lsof -i tcp

使用 Nmap 扫描开放端口

Nmap 是免费的开源网络安全扫描器之一,通常用于网络发现和安全审计,除此之外,您还可以使用NMAP 扫描开放端口、监控主机和网络清单。

在 Kali Linux 中,Nmap 已经预先安装在其中,但对于 Ubuntu 或任何其他 Linux 发行版,您可以通过键入sudo apt install nmap命令来安装 nmap。

对于 Windows 操作系统,Nmap 安装包附带了一个名为 Zenmap 的 Nmap 前端 GUI,用于从用户界面而不是命令行控制 Nmap。

要扫描打开的 TCP 端口,请键入:

nmap -sT -O localhost

上述命令将对目标主机启动 TCP 连接扫描,如果无法进行 TCP SYN 扫描,则 TCP 连接扫描是默认执行的扫描。这种类型的扫描请求底层操作系统尝试使用“连接”系统调用与目标主机/端口连接。

对于 UDP,命令是:

nmap -sU localhost

上述命令将对目标主机发起 UDP 端口扫描,UDP 扫描将 UDP 数据包发送到目标端口,如果收到响应,则端口被分类为打开,如果多次传输后没有收到响应,则端口被分类为开放/过滤。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。