这几天在搞大型网络的端口扫描,其实也不算很大大概1.1W个主机的全端口扫描。
扫描是扫描完了但是结果看起来很难受。。很多关闭或者过滤的端口它也显示出来了
后来又看了看Nmap的参数 发现了--open参数,这个参数是只显示&输出 开放端口的参数。但光看只开放的端口也是个蛋疼的事儿输出结果有3W多行。
后来想能不能自动化输出扫描出的端口和IP其他的不要。
经过2、3小时的折腾,终于搞定了自动化工具。
原理基本上就是xml解析
写了几个Xpath就解决了再加上Nmap的无样式参数--no-stylesheet
使用的Nmap命令也是常见的参数
nmap -v -sS --open -iL iplist.txt --no-stylesheet -oX output.xml -p- -P0
问题基本解决了
用到的核心代码其实没几行,整个工程也才36行。
核心代码如下
xmldoc.SelectNodes("//host/address[@addr]")
xmldoc1.SelectNodes("//port[@portid]")
node1.Attributes.GetNamedItem("addr").Value
node2.Attributes.GetNamedItem("portid").Value
妈妈再也不用担心我整理大量端口扫描结果了 :)
评论区:
Comments