Xmap-一款能与Nmap掰掰手腕的网络扫描工具

admin 2026-06-17 05:00:19 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍Xmap作为一款高速网络扫描工具,与Nmap形成互补关系:Xmap擅长大网段快速存活探测和端口普查,而Nmap适合精细枚举。文档详细提供了Windows和Linux环境下的安装指南、基础命令参数说明及实战示例(如扫描baidu.com),并推荐Xmap与Nmap串联的工作流——先用Xmap快速筛选目标,再用Nmap深入验证。 综合评分: 82 文章分类: 安全工具,渗透测试,WEB安全,解决方案,技术标准


cover_image

Xmap-一款能与Nmap掰掰手腕的网络扫描工具

原创

船山信安 船山信安

船山信安

2026年6月14日 12:22 广东

在小说阅读器读本章

去阅读

#

工具在文末领取

首先要讲明白的就是:

xmap不是nmap的平替。它更像是 ZMap/masscan这一类高速扫描工具,而不是nmap那种“细致型、全能型”的侦察工具。

xmap 擅长:快、广、先摸一遍

nmap 擅长:细、准、再往下挖

可以这样理解区别:

xmap更适合大网段、批量目标、快速存活探测、快速端口普查

nmap更适合单机到中小范围的精细枚举

如果问“哪个更好”,答案是 看场景:

扫一个大网段,先找活主机、开口端口、快速做资产普查:xmap 往往更好

看服务版本、脚本探测、深入枚举、验证具体主机:nmap 更好

所以最好的一串工作流即:

1.先用 xmap 快速扫一遍网段,筛出活主机和重点端口

2.再把结果交给 nmap 做精细化确认

XMap 是一款兼含 IPv6 与 IPv4 网络空间探测功能的快速扫描器,并且也是第一款学术界+工业界中专门用于 IPv6 资产快速扫描的工具。其参考 ZMap 的原理进行开发,从底层完全改写了 ZMap 的核心代码,将 ZMap 在 IPv4 网络空间的多种扫描优势移植到 IPv6 空间,并且结合我们自身最新的研究发现,增添了 IPv6 设备快速发现技术以及多端口扫描功能,且完全兼容 ZMap,具备“5分钟”扫描32位网络空间的能力。

本篇着重讲在Windows环境下用自行构建的启动菜单目录使用该工具

首先xmap仅适用于 GNU/Linux,Mac OS 和 BSD 操作系统,所以在win系统上的话得搭配wsl和docker一同食用

安装过程

第一种(win环境):个人windows一键搭建脚本

安装前一定要确实电脑的wsl和docker(备选方案)是否正常工作

项目地址和说明以及xmap和nmap串联工作流用法:

https://github.com/AzumiSaki/Xmap-Installation

跟着指引文件一步步走即可

第二种(linux):

假设已经下载好了xmap包

📄 bash

cd /path/to/xmap-master
sudo apt-get update
sudo apt-get install -y build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev iproute2 iputils-ping net-tools
cmake .
make -j"$(nproc)" && sudo make install
/usr/local/sbin/xmap --version

具体看到文档

https://github.com/AzumiSaki/Xmap-Installation/blob/main/Xmap%20ubuntu%E5%AE%89%E8%A3%85.md

用法

基础用法:

如果是win系统的话:由于是在wsl上运行的,所以在win上执行的原理就是通过start.bat文件向wsl ubuntu输入命令,可能会有点偏差

双击启动脚本,你会看到菜单:

1 查看完整帮助

2 查看版本

3 查看 Probe 模块

4 查看 Output 模块

5 查看 IID 模块

6 查看某组模块的详细帮助

7 自定义运行参数

8 查看概念说明

第一次使用建议按照以下顺序先熟悉一下本工具:

1.8 看概念

2.3 看探测模块

3.6 查看某个模块组合的帮助

4.7 输入自己的参数

第二步做 dry-run:

--dryrun 不真正发包,只显示计划行为,非常适合先确认参数是否写对。

📄 bat

选择7模块
-4 -M tcp_syn -p 80 --dryrun 192.168.56.0/24

第三步:低速、小范围开始

先扫你靶场里一个小网段,速率压低:

📄 bat

xmap.exe -4 -M icmp_echo -R 100 -N 20 192.168.56.0/24

UDP 探测以下所有payload皆在模块7下运行

最基础的 UDP 探测:

📄 bat

xmap.exe -4 -M udp -p 53 -R 200 192.168.56.0/24

如果要带 payload:

📄 bat

xmap.exe -4 -M udp -p 53 --probe-args=hex:12340100000100000000000003777777076578616d706c6503636f6d0000010001 192.168.56.0/24

如果要按端口自动加载 payload 文件:

📄 bat

xmap.exe -4 -M udp -p 53,123,161 --probe-args=dir:/mnt/d/你的目录/payloads 192.168.56.0/24

过滤重复或失败结果

很多人第一次用 XMap 会疑惑“为什么输出这么多”。原因之一是输出模块默认并不只保留成功且唯一的结果。

想只保留成功且非重复响应,可以加:

📄 bat

--output-filter="success = 1 && repeat = 0"

完整示例:

📄 bat

xmap.exe -4 -M tcp_syn -p 80 -O csv -f saddr,sport,dport,clas,timestamp_str --output-filter="success = 1 && repeat = 0" -o tcp80_clean.csv 192.168.56.0/24

以下是实战练习:

试用xmap扫描baidu.com

首先先

📄 bash

xmap.exe -4 -M tcp_syn -p 443 --dryrun www.baidu.com

探测存活主机

📄 bash

xmap.exe -4 -M icmp_echo -O csv -R 3 -N 5 -f saddr,clas,success,timestamp_str --output-filter="success = 1 && repeat = 0" -o host_icmp.csv www.baidu.com

探测存活端口

📄 bash

xmap.exe -4 -M tcp_syn -O csv -p 21,22,25,53,80,110,111,135,139,143,443,445,465,587,993,995,1433,1521,3306,3389,5432,5900,6379,8080,8443,27017 -R 5 -f saddr,sport,clas,success,timestamp_str --output-filter="success = 1 && repeat = 0" -o host_wide.csv www.baidu.com

对于已知dns服务器

📄 bash

xmap.exe -4 -M dnsa -O json --probe-args=raw:recurse:text:A,www.baidu.com 目标dns服务器

还可以对已知的子域名批量扫

如果你自己已经有清单,在本地文件夹建一个 hosts.txt:

📄 代码

www.baidu.com/32
a.baidu.com/32
b.baidu.com/32

然后:

📄 bash

xmap.exe -4 -M tcp_syn -O csv -p 80,443 -w .\hosts.txt -R 5 -f saddr,sport,clas,success,timestamp_str --output-filter="success = 1 && repeat = 0" -o hosts_batch.csv

UDP 更深

如果要更像真实协议探测,可以带 payload:

📄 bash

xmap.exe -4 -M udp -O csv -p 53 -R 3 --probe-args=hex:1234010000010000000000000377777705626169647503636f6d0000010001 -f saddr,sport,clas,icmp_str,success,timestamp_str --output-filter="repeat = 0" -o udp53.csv www.baidu.com

留完整过程数据

📄 bash

xmap.exe -4 -M tcp_syn -O csv -p 80,443 -R 3 -f saddr,sport,clas,success,timestamp_str --output-filter="success = 1 && repeat = 0" -o scan.csv -m meta.json -u status.csv -l xmap.log www.baidu.com

但在扫描之前最好是先演练不发包

📄 bash

xmap.exe -4 -M tcp_syn -p 80,443 --dryrun www.baidu.com

公众号留言:20260514 即可获得工具


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:船山信安 船山信安 船山信安《Xmap-一款能与Nmap掰掰手腕的网络扫描工具》

评论:0   参与:  0