长亭百川云 - 文章详情

Nmap扫描结果还能大屏展示,学习了!

唐哥

46

2024-08-01

nmap 是一个开源的网络探测和安全审核工具,它用于发现网络上的设备,检测开放的端口,确定运行在网络设备上的服务及其版本信息,以及检测潜在的安全漏洞。

通常情况下,我们只在命令行中使用 nmap 命令,而它的结果也只能保存在文本文件中,显示效果不太友好。

下面我们利用Grafana通过大屏展示nmap的结果,让老板们刮目相看,如下图:

我们准备一个全新的环境,安装nmap和Grafana,以便各位同学动手操作。

1. 测试环境

操作系统:CentOS7.6

关闭防火墙和SELinux;

配置阿里YUM源:

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.1 配置转发

配置转发后,才可以通过宿主机指定端口访问到Docker中的服务;

(1)修改配置文件

vi /etc/sysctl.conf
#文档末尾添加
net.ipv4.ip_forward = 1

(2)写入内核

sysctl -p

1.2 docker安装

yum install docker-ce docker-ce-cli docker-compose -y

启动服务:

systemctl start docker
systemctl enable docker

1.3 安装依赖包

yum install wget unzip -y

2. 使用nmap

2.1 安装nmap命令

yum install nmap -y

2.2 使用nmap命令

使用nmap命令生成扫描报告,扫描整个网段,命令如下:

nmap -sV -F --script=http-title,ssl-cert -oX port.xml 192.168.10.0/24

扫描一个网段需要的时间有点长,扫描结果大致如下:

这样的结果是不适合直接查看的。

3. 格式化Nmap结果

将nmap的扫描结果格式化到 SQLite 数据包中。

3.1 下载格式化脚本

脚本地址:

https://github.com/hackertarget/nmap-did-what/blob/master/data/nmap-to-sqlite.py

下载或者复制其内容到服务器,下载Grafana容器配置时,也会有该文件。

3.2 安装python3

脚本需要使用python3才能运行:

yum install python3

3.3 执行格式化操作

python3 nmap-to-sqlite.py port.xml

转化格式后,会生成一个.db文件。

4. 安装Grafana

使用Docker安装Grafana。

4.1 下载项目包

GitHub项目地址:

https://github.com/hackertarget/nmap-did-what

创建一个专用目录:

mkdir /grafana
cd /grafana
wget https://github.com/hackertarget/nmap-did-what/archive/refs/heads/master.zip

4.2 解压软件包

unzip master.zip
mv nmap-did-what-master/* ./
rm -rf nmap-did-what-master

4.3 拷贝文件

cp /root/nmap_results.db /grafana/data/

文件的存储位置,可以通过修改datasource.yml文件中的内容自定义:

datasource.yml自动加载db文件的位置,也可以在grafana中手动配置。

4.4 最终文件

保证要有以下文件:

4.5 快速部署

在yaml配置文件所在目录执行以下命令进行部署:

cd /grafana/grafana-docker/
docker-compose up -d

5. 访问Grafana

在浏览器中使用服务器IP:3000打开WEB界面,用户和密码都是admin:

首次登录要求修改密码,也可以跳过不修改,默认是英文显示,可以设置为中文。

查看仪表盘,默认已经配置好仪表盘:

点击该仪表盘就可以看到大屏了:

还可以看到主机所开放的端口:

6. 总结

配置使用脚本和定时任务,效果更佳。

使用cron或计划任务,定期运行Nmap并更新SQLite数据库文件,构建一个实时面板,显示当前的网络状态和运行的服务。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2