手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中

端口扫描系统实践心得

来源:本站整理 作者:佚名 时间:2019-04-19 TAG: 我要投稿

端口扫描对任何一名网络安全从业者来说都不?#21543;?#20294;作为一名小白,在甲方做扫描系统时踩了不少坑,在网络上找相关资料时没有发现太多相关的文章,于是想写下这篇文章和大家分享一下代码,顺便讨教一下主机存活判断和指纹识别的问题,欢迎大佬们批评和指正。
0×00 目的
对于外网,能够监控对外开放端口情况,并及时的发现向外暴露的高危端口,以便安全人员进行响应处理。对于内网,日常 的端口扫描以及指纹识别,不仅能够帮助梳理公司资产,并且能够帮助进行后续内网的漏洞扫描。
0×01 存活主机判断
开?#30002;?#31471;口扫描时,所考虑的第一步便是存活主机判断。最初的设想便是使用nmap的-sP?#38382;?#23545;IP地?#26041;写?#27963;判断。
代码如下:
def ip_alive_check(ip_str):
   cmd = "/usr/bin/nmap -sP "+ip_str
   output = os.popen(cmd).readlines()
   flag = False
   for line in list(output):
       if not line:
           continue
       if str(line).lower().find("1 host up") >= 0:
           flag = True
           break
   return flag
但随后便发现这个办法存在问题,引用Nmap官方文档如下:
-sP选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。
如果非特权?#27809;?#25191;行,就发送一个SYN报文 (用connect()系统调用)到目标机的80端口。
当特权?#27809;?#25195;描局域网?#31995;?#30446;标机时,会发送ARP请求(-PR), ,除非使用了–send-ip选项。
-sP选项可以?#32479;?P0)之外的任何发现探测类型-P* 选项结合使用?#28304;?#21040;更大的灵活性。
一旦使用了任何探测类型和端口选项,默?#31995;?#25506;测(ACK和回应请求)就被覆盖了。
当防守严密的防火墙位于运行Nmap的源主机和目标网络之间时, 推荐使用那些高级选项。
否则,当防火墙捕获并丢弃探测包或者响应包时,一些主机就不能被探测到。
抓包如下:
局域网环?#24120;?br/> 非root?#27809;?br/>

nmap通过向目标IP的80端口和443端口分别发送SYN包来判?#29616;?#26426;是否存活,由于目标主机的80和443端口均未开放,所以均返回RST包
nmap扫描结果:0 hosts up
root?#27809;?br/>

nmap发送ARP请求并得到响应
nmap扫描结果:1 hosts up
非局域网环?#24120;?br/> 非root?#27809;?br/>

同样的,nmap向目标主机的80和443端口发送SYN包,通过返回的确?#20064;?#24471;到目标主机存活。所以扫描结果为:1 hosts up。
root?#27809;?br/>

这?#21361;琻map不仅向目标主机的80和443端口发送了SYN包,还向目标主机发送了ICMP Echo请求以及Timestamp请求,nmap会综合这四种方式的响应情况来判断目标主机是否存活。显然这次的扫描结果为:1 hosts up。
通过对nmap -sP?#38382;?#30340;分析便可得知,实际上对存活主机的判断并不准确。许多主机的防火?#20132;?#36807;?#35828;鬒CMP包,而且80和443端口也不一定会保证对外开放。
而nmap官方文档中提到的高级选项在实?#23454;?#20351;用中也都不能保证准确性,所以对于存活主机的判断,一直没有?#19994;?#27604;较好的解决办法,在实?#23454;?#25195;描中便没有用上这一步骤,还请各路大佬指点指点有没有什么成本比?#31995;?#30340;解决方案。
0×02 Masscan扫描端口
直接对全端口使用nmap进行扫描速度?#19979;?#25152;以选择使用号称,三分钟扫遍全网的masscan。
masscan采用的是无状态的扫描技术即无需关心TCP状态,不?#21152;?#31995;统TCP/IP协议栈资源,忘记syn,ack,fin,timewait ,不进行会?#30333;?#21253;,而nmap则是需要记录TCP/IP的状态,并且OS能够处理的TCP/IP连接数存在上限,这就导致了nmap扫描的速度不如masscan。
代码如下:
class Masscan(object):
    def __init__(self, args):
        self.masscan_bin = config.MASSCAN_BIN            # Masscan路径 例如:/usr/bin/masscan

[1] [2] [3] [4] [5]  下一页

【声明】:黑吧安全网(http://www.rliwo.live)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱[email protected],我们会在最短的时间内进?#20889;?#29702;。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载
        购买彩票权威网址
        手机上怎么买彩票双色球 微信上有人推荐买彩票 能合买彩票的平台 夫妻买彩票狂中30亿 买彩票心态 买彩票就买大乐透开奖结果 哪个平台买彩票安全吗 买彩票有买一个号的吗 怎么看走势图买彩票 如何在电脑上买彩票 美国几岁可以买彩票? 福彩工作人员买彩票 彩客网买彩票 能在微信上买彩票吗 怎么买彩票容易中
        中秋佳节各单位的福利 分分彩开奖历史 91炸金花 幸运农场走势图技巧 快乐假日游戏 金皇冠疯狂版苹果版 西游争霸之决战天下下载 龙舟竞渡诗句 12.26太阳vs马刺 七星彩走势图彩宝贝