码迷,mamicode.com
首页 > 其他好文 > 详细

如何使用Nmap进行端口扫描(十一)应用举例-如何扫描大型网络中某个打开的TCP端口

时间:2020-08-26 18:38:23      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:can   其它   需要   awk   name   network   示例   服务   -o   

应用举例-扫描大型网络中的某个打开的TCP端口
1 问题
在真实环境中有时我们会需要从一个网络中快速找出某个TCP端口开放的主机。例如:在Microsoft IIS的漏洞曝光后,我们很想知道网络中的这些主机上哪一台的TCP 80端口是打开的,并且还在运行着该服务;或者,当你发现一台被攻陷的主机上***留下的后门在端口31337上运行,你会希望快速扫描网络,找到其它被攻陷的主机,等等。
2 解决办法
要解决上面的问题,最直接的办法就是运行下面的命令:
#nmap -Pn -p<portnumber> -oG <logfilename.gnmap> <target network>
这是一个搜索4096个IP的Web服务器(端口80打开)的具体示例:
#nmap -Pn -p80 -oG logs/pb-port80scan-%D.gnmap 216.163.128.0/20
文件名中的“%D”将替换为扫描运行的数字日期(例如,2007年9月1日为“ 090107”)。尽管此扫描命令有效,但做一些选项上的优化会大大减少扫描时间。
#nmap -T4 -Pn -p80 - -max-rtt-timeout 200ms - -initial-rtt-timeout 150ms - -min-hostgroup 512 -oG logs/pb-port80scan-%D.gnmap 216.163.128.0/20
?我们发现大部分时间都花在了反向DNS解析上。通过在上面的命令行中添加-n来禁止DNS解析,可以将4096个主机的扫描时间减少到193秒。三分钟的耐心要比之前21分钟的耐心要容易得多。
上面的命令将grepable格式结果存储在指定的文件中。 然后,一个简单的egrep命令将找到端口80打开的机器:
egrep ‘[^0-9]80/open’ logs/pb-port80scan-%D.gnmap
egrep模式前面带有[^ 0-9],以避免虚假匹配端口(例如3180)。由于我们仅扫描端口80,因此当然不可能发生,但是这在进行多端口扫描时是一种好习惯。 如果只需要IP地址,则使用egrep awk‘{print $ 2}’。

如何使用Nmap进行端口扫描(十一)应用举例-如何扫描大型网络中某个打开的TCP端口

标签:can   其它   需要   awk   name   network   示例   服务   -o   

原文地址:https://blog.51cto.com/14857544/2522411

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!