nmap全称为Network Mapper。是一款网络扫描和主机检测的很是有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时能够用来做为一个漏洞探测器或安全扫描器。关于工具的使用,网上有不少教程,这里不作具体说明。linux
如下我用UBUNTU演示git
在LINUX环境下,扫描的结果一般是字符形式的以下:github
#sudo nmap -O 192.168.11.114 Starting Nmap 6.40 ( http://nmap.org ) at 2018-10-24 09:27 CST Nmap scan report for ubuntu-14.04 (192.168.11.114) Host is up (0.000038s latency). Not shown: 996 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp filtered http 443/tcp filtered https 8000/tcp filtered http-alt No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). TCP/IP fingerprint: OS:SCAN(V=6.40%E=4%D=10/24%OT=22%CT=1%CU=31262%PV=Y%DS=0%DC=L%G=Y%TM=5BCFCB OS:0C%P=x86_64-pc-linux-gnu)SEQ(SP=100%GCD=1%ISR=10B%TI=Z%CI=I%TS=8)SEQ(SP= OS:100%GCD=1%ISR=10B%TI=Z%CI=I%II=I%TS=8)OPS(O1=MFFD7ST11NW7%O2=MFFD7ST11NW OS:7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFFD7ST11NW7%O6=MFFD7ST11)WIN(W1=A OS:AAA%W2=AAAA%W3=AAAA%W4=AAAA%W5=AAAA%W6=AAAA)ECN(R=Y%DF=Y%T=40%W=AAAA%O=M OS:FFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N) OS:T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S OS:+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF= OS:Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G OS:%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S) Network Distance: 0 hops OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 112.44 seconds
结果怎么说呢?应该是能够看懂的,可是不够直观。对于新人来讲看起来比较费劲。特别是若是你给别人展现的时候。那么有没有现成的工具能够将数据结果可视化呢?还真有。
在GITHUB上发现了Rev3rseSecurity的WebMap项目就能够实现这样的功能web
安装方式多种多样,若是不须要精确版本利用apt-get 包管理安装便可(CENTOS下YUM)docker
#sudo apt-get install nmap 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的而且如今不须要了: libtcl8.5 libtk8.5 libxft2 libxrender1 libxss1 ruby1.9.1-examples Use 'apt-get autoremove' to remove them. 将会安装下列额外的软件包: libblas3 liblinear-tools liblinear1 liblua5.2-0 建议安装的软件包: libsvm-tools liblinear-dev 下列【新】软件包将被安装: libblas3 liblinear-tools liblinear1 liblua5.2-0 nmap 升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 216 个软件包未被升级。 须要下载 4,238 kB 的软件包。 解压缩后会消耗掉 18.6 MB 的额外空间。 您但愿继续执行吗? [Y/n] y
因为做者使用DOCKER实现,因此前置须要安装DOCKER(本文不演示DOCKER安装,请自行百度)ubuntu
#mkdir /tmp/webmap #建立一个目录,启动容器会利用Docker Volume映射宿主机与容器目录 #sudo docker run -d \ --name webmap \ -h webmap \ -p 8000:8000 \ -v /tmp/webmap:/opt/xml \ rev3rse/webmap /run.sh Unable to find image 'rev3rse/webmap:latest' locally latest: Pulling from rev3rse/webmap b3aad5be9387: Pull complete 3e981027b9c7: Pull complete Digest: sha256:c09be37b736d0b3b26f9dc98d33baa58a9c8ff55d60123413f21340bcb2773b5 Status: Downloaded newer image for rev3rse/webmap:latest 03c98689abaa664f3519994040006b252aa498476f95f95a6f5bee2a72330e0b
查看容器进程浏览器
sudo docker ps |grep webmap 03c98689abaa rev3rse/webmap "/run.sh" 0.0.0.0:8000->8000/tcp #容器ID 容器名 执行命令 端口映射
sudo nmap -sT -A -T4 -oX /tmp/webmap/myscan.xml 192.168.11.114 Starting Nmap 6.40 ( http://nmap.org ) at 2018-10-24 09:49 CST Nmap scan report for ubuntu-14.04 (192.168.11.114) Host is up (0.00025s latency). Not shown: 996 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh (protocol 2.0) | ssh-hostkey: 1024 d8:7b:0f:56:71:82:13:a6:6d:8b:27:3a:ce:14:1f:33 (DSA) | 2048 21:b9:86:cc:a1:38:cc:52:44:37:c8:32:d7:ae:32:dd (RSA) |_256 c3:72:42:21:46:cd:4c:cd:9d:07:8d:0a:aa:0a:df:d6 (ECDSA) 80/tcp open http? |_http-methods: No Allow or Public header in OPTIONS response (status code 400) |_http-title: Did not follow redirect to https://ubuntu-14.04/ 443/tcp open ssl/https? |_http-methods: No Allow or Public header in OPTIONS response (status code 200) | http-robots.txt: 1 disallowed entry |_/ |_http-title: Loading… | ssl-cert: Subject: commonName=cattle/organizationName=the-ranch | Not valid before: 2018-09-25T07:42:22+00:00 |_Not valid after: 2019-09-25T07:42:32+00:00 8000/tcp open http-alt? |_http-methods: No Allow or Public header in OPTIONS response (status code 500) |_http-title: ExpatError at / 4 services unrecognized despite returning data. ...
仅仅是为了演示,我这里只扫描了这台测试机,批量扫描能够按网段进行,固然时间很更久一些安全
由于暴漏了8000端口,打开浏览器输入IP:8000查看便可,好比我这里是http://192.168.11.114:8000/ruby
我台测试机只开放了4个端口,能够参考上述字符输出的内容网络
下面有一个详细说明
在页面下方能够列出扫描过的全部主机的列表,固然我这里只扫了1台,就只有一个
注意看右下的三角很贴心能够对主机进行标注,好比我当前标注checked
下面还有一个插入标注(Insert note),会在输出PDF的时候进行显示,以下:
固然,若是让全部都经过WEB方式查看也不友好,毕竟给BOSS汇报的时候仍是但愿附件的方式。别着急,WEBMAP自带的导出PDF的格式
导出结果以下:
固然做者还在不断开发中。最后提供软件的GITHUB地址
webmap