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

「作者主页」:士别三日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%的准确率,大部分识别工具的结果,都只能提供一定的参考价值。

相关推荐
武子康1 分钟前
图片删了,为什么旧链接还能打开、后台还能生成回来?
人工智能·agent
yuanyuan33430 分钟前
2026枣庄带检测报告伸缩门品牌测评|本地服务
大数据·数据库·人工智能·伸缩门
无所畏俱的老尹40 分钟前
Agent 落地为什么需要影子对照:同输入只读双跑、写动作变提案、差异报警,比直接切全量更安全
人工智能·机器学习·云计算·aigc·devops
会飞锦鲤1 小时前
基于 SVM + HOG 的铸造缺陷检测系统
python·opencv·机器学习·计算机视觉·缺陷检测·图像分类·svm
liferecords2 小时前
OpenAI 把「Critical」级挖洞模型交付出去了:GPT-6 Cyber 正式发布,越界率压到 1% 以下
网络安全·openai·ai安全·模型发布
神鹰手哥_起飞版2 小时前
深度研判任务里,开思考、换更强的模型、套方法论,哪个更有用?
人工智能
ObserverX212 小时前
我是如何用 13KB 纯 Python,发现本地 RAG 的“隐式递归记忆”的
人工智能
Jason_gao9992 小时前
Github Copilot 新手极速上手指南
人工智能·github·copilot
用户360055579002 小时前
Kestrel_VLLM - 35 · 把 m 循环搬进内核:一次「先量发射、再合并发射」的完整回合
人工智能
Linye2 小时前
为什么让 AI 修个小 Bug 却把底层全重写了?聊聊 Coding Agent 的最小修改边界
人工智能·架构