「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《网络安全快速入门》
为什么要扫描端口?
知道主机开放了哪些端口,就可以推断出端口所对应的服务,从而根据服务的已知漏洞进行渗透。
- 一、端口扫描原理
- 二、Telnet探测端口
- 三、端口扫描工具
- 1. Nmap
- 2. Masscan
- 四、几种扫描工具的原理和区别
- 五、端口扫描分类
一、端口扫描原理
1)向目标主机的某个端口,发送建立链接的请求,如果对方开放了这个端口,就会响应;如果没有没开放,则不会响应。
2)根据这个原理,向一些常用的端口逐个建立链接,就能知道对方开放了哪些端口。
二、Telnet探测端口
Windows系统自带的 Telnet 命令,可以用来探测目标主机的端口是否开放。
格式:telnet IP 端口
出现下面这种响应则表示端口未开放:
出现下面这种响应则表示端口处于开放状态:
如果出现下面这种命令不可用的情况,说明 Telnet 服务未开启:
可以到 控制面板 – 程序和功能 – 启用或关闭Windows功能 中开启Telnet服务:
三、端口扫描工具
使用端口扫描工具,扫描主机开放的端口及服务。
1. Nmap
nmap(Network Mapper)是一个网络扫描和嗅探工具,-p参数指定扫描的端口。
nmap -sV -p 1-65535 206.119.105.9
2. Masscan
masscan是一个快速端口扫描工具,-p参数指定扫描的端口。
masscan -p 0-65535 206.119.105.9
四、几种扫描工具的原理和区别
Telnet 使用完整的三次握手建立链接,常用于单个端口的测试。
Masscan 只发送SYN包,如果对方返回 ACK+SYN 就说明端口开放。
Nmap 默认使用SYN扫描,可以通过修改参数来修改扫描的方式。
五、端口扫描分类
简单介绍几种端口扫描的方式以及原理:
1)完全链接扫描
使用TCP三次握手建立一次完整的链接,从系统调用 connect()开始,端口开放则建立链接,端口不开放则返回-1。
2)半链接扫描
就是我们常说的SYN扫描,只建立TCP的前两次链接,发送一个SYN后,就停止建立链接,等待对方的响应。
如果返回一个ACK,就说明端口开放;如果返回一个RESET,就说明端口没开放。
这种不完整的链接,产生的日志较少,但需要超级管理员权限。