信息收集:端口扫描原理,端口扫描分类,端口扫描工具,手动判断操作系统,操作系统识别工具

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《网络安全自学教程》

端口&系统版本

一、端口扫描

知道主机开放了哪些端口,就能根据「端口」找到对应的「服务」,再根据服务的已知漏洞进行渗透。

1、telnet

格式:telnet IP 端口

Windows系统:进入「黑窗口」表示端口开放;提示「连接失败」表示端口关闭。

Linux系统:返回「Connected」表示端口开放;返回「Connection refused」表示端口关闭。

2、Nmap

nmap(Network Mapper)是一个「网络扫描」和嗅探工具,-p参数指定扫描的端口。

shell 复制代码
nmap -sV -p 1-65535 206.119.105.9

3、Masscan

masscan是一个快速「端口扫描」工具,-p参数指定扫描的端口。

shell 复制代码
masscan -p 0-65535 206.119.105.9

4、端口扫描原理及分类

端口扫描本质上就是向主机的指定端口发送连接请求,收到响应,就说明端口开放;没有响应,就说明没开。

常用的扫描方式有全连接和半链接:

1)完全链接扫描

使用TCP三次握手建立一次完整的链接,从系统调用 connect()开始,端口开放则建立链接,端口不开放则返回-1。

2)半链接扫描

就是我们常说的SYN扫描,只建立TCP的前两次链接,发送一个SYN后,就停止建立链接,等待对方的响应。

如果返回一个ACK,就说明端口开放;如果返回一个RESET,就说明端口没开放。

这种不完整的链接,产生的日志较少,但需要超级管理员权限。

  • Telnet 使用完整的三次握手建立链接,常用于单个端口的测试。
  • Masscan 只发送SYN包,如果对方返回 ACK+SYN 就说明端口开放。
  • Nmap 默认使用SYN扫描,可以通过修改参数来修改扫描的方式。

二、操作系统识别

知道了「操作系统」,就可以针对已知漏洞进行渗透。

1、改变大小写

Windows系统不区分大小写,Linux区分大小写。

在网站的地址栏中,改变 url 的大小写,如果网页没有变化,就是Windows;如果网页404,就是Linux。

2、TTL

TTL(Time To Live)是IPv4请求包的一个字段,用来表示IP数据包在网络中可以转发的最大跳数(最大 255)。

Linux 系统的默认TTL是 64, Windows 系统的默认TTL是 128。

ping目标网站,观察返回的ttl。

1~64 是Linux:

65~128 是Windows:

由于TTL的默认值可以修改,这个判断方式存在误差。

3、Nmap

Nmap根据特征行为「指纹」匹配特征库,来判断操作系统及版本;

语法:nmap -O IP

比如下面这个网站,是Linux,版本在2.4到2.6之间。

提示:Nmap的扫描结果可信度更高,但也并不不是100%准确。

4、p0f

p0f是kali自带的,「被动」指纹识别工具,抓取经过的流量,根据数据包判断操作系统。

在命令行输入 p0f 后回车,进入被动检测状态,然后使用浏览器访问目标网站。

如下图所示,os 这一栏展示 p0f 识别出的操作系统。

p0f 工具也不能保证100%的准确率,大部分识别工具的结果,都只能提供一定的参考价值。

相关推荐
xsd202411184 小时前
检测视觉大模型全景解析:从Grounding DINO到Molmo,AI如何“指哪打哪“
人工智能
咖啡星人k4 小时前
2026 智能体安全进阶:把注入和越权写进SPEC,MonkeyCode 云端跑通
人工智能·安全·机器学习
sel_94 小时前
深度学习激活函数详解:从 Sigmoid、Tanh、ReLU 到 GELU、SiLU、Mish,一文掌握所有常用激活函数
人工智能·深度学习
智擎GEO4 小时前
中山GEO优化哪个靠谱
人工智能·python
liliangcsdn4 小时前
多空价差收益序列汇总统计的分析和代码示例
人工智能·算法·机器学习
aneasystone本尊4 小时前
学习大模型推理的 KV Cache
人工智能
单词记忆方法研究4 小时前
专项突破词汇实操教程与要点解析
人工智能
迅利科技4 小时前
航空 EWIS 线束数字化,CATIA 如何保障复杂机载电气流体系统安全合规
安全·系统安全
啥都想学点的研究生4 小时前
一篇文章讲清楚:Adaboost算法与GBDT
人工智能·算法
Hi202402174 小时前
让 AI 逆向 NVIDIA SASS 指令并用 RTL 实现 Verilator 仿真
人工智能·sass·ai编程