精华内容
参与话题
问答
  • 各种端口扫描技术的相关原理

    万次阅读 2020-08-20 15:34:54
    Xmas Tree扫描 发送一个flag为PSH,FIN,URG的包。如果对方主机端口开放则无反应。如果端口关闭,则会返回一个rst包。对windows主机来说无论端口开放与否,都返回rst。 Fin扫描 发送flag为fin的数据包,如果对方...

    Xmas Tree扫描

    发送一个flag为PSH,FIN,URG的包。如果对方主机端口开放则无反应。如果端口关闭,则会返回一个rst包。对windows主机来说无论端口开放与否,都返回rst。
    在这里插入图片描述

    Fin扫描

    发送flag为fin的数据包,如果对方端口开放,则无反应。如果关闭则反回一个rst包。类似于Xmas Tree。对windows主机来说无论端口开放与否,都返回rst。

    Null扫描

    发送一个没有flag的tcp/ip包,如果端口开放则返回rst包,如果关闭则无反应。对windows主机来说无论端口开放与否,都返回rst数据包。

    上述三种扫描Xmas tree,fin,null的原理基本相同,都是基于*unix平台的一种协议。

    tcp全连接扫描

    原理是与指定ip的指定端口进行一次TCP三次握手。如果成功则端口开放。
    大概过程是,C端发送syn包,S端回复,syn+ack,最后C端回复ack+rst断开连接。下图为端口开放时候的tcp全连接扫描。
    在这里插入图片描述

    如果关闭则服务端回复的是rst+ack,且只有两个数据包,这个跟syn扫描端口关闭的时候的显示一样。
    在这里插入图片描述

    正常情况下TCP全连接的过程中最后一个包是ACK包。flag为ack并没有rst。如下图:
    在这里插入图片描述

    syn扫描

    原理是发送syn包给服务端。如果服务端口开放则返回ack+syn。如果端口关闭则返回rst+ack。如下图:

    在这里插入图片描述
    如果端口开放,则服务端返回ack+syn,然后客户端再发送rst重制连接 。如下图
    在这里插入图片描述

    ack扫描

    ack扫描不用与发现端口的开关情况,主要是为了发现服务器上是否存在防火墙。
    客户端会发送一个flag为ack的数据包,如果服务器返回一个rst的包,这说明没有防火墙过滤这个包。如果无反应或者回复icmp包type类型为3,代码为1,2,3,9等,说明端口被过滤且存在防火墙。

    udp扫描

    客户端像服务端的指定端口发送一个udp数据包,如果服务器回应了这个包,则端口开放。如果返回icmp包且type等于3且代码等于3即返回端口不可达,则以为目标端口是关闭状态。如果type为3 且代码为1,2,9等,则是端口被过滤。

    展开全文
  • 端口扫描

    2018-10-13 19:00:27
    0x01 端口扫描介绍 端口扫描是指人为发送一组端口扫描消息,视图以此了解某台计算机的弱点,并了解其提供的计算机网络服务类型。 端口最常用也是最强大的工具是nmap,在nmap的端口扫描方式中,所有的扫描方式都是以-...

    0x01 端口扫描介绍

    端口扫描是指人为发送一组端口扫描消息,视图以此了解某台计算机的弱点,并了解其提供的计算机网络服务类型。

    端口最常用也是最强大的工具是nmap,在nmap的端口扫描方式中,所有的扫描方式都是以-s[x]的形式,若是ACK扫描则是-sA,若是UDP扫描则是-sU

    0x02 端口状态

    nmap提供了6个端口状态,帮助我们了解目标。

    open

    此端口对外为开放状态

    closed

    此端口关闭,但是有可能是管理员的欺骗手段导致,或是防火墙所致

    filtered

    次扫描被过滤,不过出现这种现象并不代表一定是被某些专业的设备过滤了,也许是因为网络阻塞造成的,建议遇到这种情况分不同的时间段再次进行扫描

    unfiltered

    未被过滤状态意味着端口可以访问,但是nmap并不能判断目标端口处于开放状态还是关闭状态,这里需要重申的是目标端口是否可以访问与是否开放并无太大联系。需要注意的是,当我们使用ACK扫描时才会呈现出这种状态,这时我们可以换一种方式去进行扫描,以便进一步确认。

    open|filtered

    开放还是过滤的,如果nmap发出的探测报文并没有得到目标端口的响应,可能是收到了某些专业设备的阻挡,此时可以换一种方式进一步确认。

    closed|filtered

    该状态用于nmap不能确定端口是关闭的还是被过滤的。值得注意的是,它只可能出现在IPID Idle扫描中。

    0x03 时序选项

    在nmap中,可以使用-T(0-5)启用时序选项。

    -T0(偏执的) 非常慢的扫描,用于IDS逃避

    -T1(鬼祟的) 缓慢的扫描,用于IDS逃避

    -T2(文雅的) 减低速度以减低对宽带的消耗,此选项一般不常用

    -T3(普通的) 默认,根据目标的反应自动调整时间

    -T4(野蛮的) 快速扫描,常用扫描方式,需要在很好的网络环境下进行扫描,请求可能会淹没目标

    -T5(疯狂的) 极速扫描,这种扫描方式以牺牲准确度来提升扫描速度

    0x04 常用扫描方式

    -p选项

    指定一个端口,可以唯一指定一个,也可以指定一个范围

    如果既想扫描TCP、又想扫描UDP,可以在端口前面加上T:选项和U:,分别代表TCP协议或UDP协议。注意必须指定-sU以及一个TCP扫描类型(如-sS、-SF、-sT)。如果没有给定协议限定符,端口号会被加到所有协议列表。

    -F选项

    快速扫描默认的有限的端口,在nmap中的nmap-services包含了默认扫描的端口,也可以使用--daradir选项指定自己的nmap-services文件。

    -r选项

    使用该选项不会对端口进行随机顺序扫描,默认情况下,nmap是随机扫描端口的。

    –port-ratio选项

    使用该选项会扫描指定一定概率以上的端口。

    0x05 TCP SYN扫描

    nmap -sS [ip地址]
    

    SYN的扫描方式相对来说是比较隐蔽的扫描方式,很难被防火墙或是管理员发现,因为它并不会进行TCP的链接,SYN扫描可以明确区分出端口的开放状态,这是一种高效且非常有用的扫描方式。

    namp发送一个SYN请求,如果收到RST:目标主机端口关闭;收到SYN/ACK:目标主机端口开放

    0x06 TCP链接扫描

    nmap -sT [ip地址]
    

    当SYN扫描可用时,它通常是更好的选择。

    namp发送一个SYN请求,如果收到RST:目标主机端口关闭;收到SYN/ACK:目标主机端口开放

    0x07 UDP扫描

    nmap -sU -p [端口] [ip地址]
    

    UDP扫描发送空的UDP扫描到目标端口,这里需要注意的是,UDP头是没有任何数据的,这就使nmap可以轻松识别目标端口的开放状态,如果返回ICMP端口不可达错误就认为该端口是关闭的;未收到回应就说明是被过滤的;被响应了则说明是开放状态。

    0x08 隐蔽扫描

    隐蔽扫描有三个选项:

    • -sN Null扫描 如果目标端口是关闭的,会响应一个RST数据包;如果端口是开放的,则不会响应任何消息
    • -sF FIN扫描 如果收到目标响应的RST数据包,说明端口是开放的;没有收到RST数据包则说明端口是关闭的
    • -sX 如果目标端口开放则会响应一个RST标志包

    这些扫描方式会躲过一些无状态防火墙的过滤,这比SYN扫描、UDP扫描会有更好的效果,更加隐蔽。

    0x09 TCP ACK扫描

    nmap -sA [ip地址]
    

    TCP ACK扫描有一个致命的缺点,它不能确定端口是开放的还是被过滤的。当扫描未被过滤的系统时,开放的和关闭的都会返回RST报文。但是可以利用它来扫描防火墙的配置,用它来发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

    0x0A TCP窗口扫描

    nmap -sW [ip地址]
    

    有时开放端口用正数表示窗口大小,关闭窗口的大小为0,所以,当收到RST包时,根据窗口的值时正数还是0来判断端口是开放的还是关闭的。

    0x0B 自定义TCP扫描

    namp -sT --scanflags [标志位(多个标志位之间不用分隔符隔开)]
    如:namp -sT --scanflags SYNURG [ip地址]
    

    若不指定基本类型,则默认为SYN扫描

    oxoC 空闲扫描

    空闲扫描允许进行端口完全欺骗。利用僵尸主机进行伪装。

    namp -sI [僵尸主机]:[端口] [目标主机ip]
    
    展开全文
  • 端口扫描器一个能够扫描出你的机子或者IP和某一个网站的端口是否被占用。使用方式:如果你要查询80是否被占用?你只需要在开始端口和结束端口输入:80即可!你也可以输入1-9999进
  • C实现UDP端口扫描

    2014-06-18 15:15:29
    在大多数情况下,当向一个未开放的UDP 端口发送数据时,其主机就会返回一个ICMP不可到达(ICMP PORT UNREACHABLE)的错误,因此大多数UDP 端口扫描的方法就是向各个被扫描的UDP 端口发送零字节的UDP 数据包,如果收到...
  • syn端口扫描.txt

    2020-04-26 18:59:21
    端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到...
  • 网络端口扫描技术研究与实现

    热门讨论 2009-03-31 18:40:41
    网络出现故障时,人们总习惯先用ping命令检测目标系统是否有所反应,如果要进一步了解目标系统的网络连接情况,黑客最常使用的一种手段就是端口扫描。ping命令只能检测目标主机是否是激活的(开机状态),而许多时候...
  • 1.端口扫描 portScan: 端口扫描程序,包括ping扫描,syn扫描,fin扫描等方式,可以参考。 2.ICMP发现活动主机&TCP(SYN FIN ACK)扫描&UDP扫描: ICMP发现活动主机 TCP(SYN FIN ACK)端口扫描 UDP端口扫描 vs...
  • 端口扫描技术是发现安全问题的重要手段之一。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的...
  • PortReady端口扫描

    2020-04-23 18:01:50
    Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来...
  • 此文件包含一体化的基于vc++6.0的MFC程序设计制作出来的windows扫描技术,采用WinPcap,实现了端口扫描,局域网监控,本地流量监控。 包含论文以及源码,经编译通过。 可能需要其他安装文件支持vc6的最后sdk,地址...
  • S端口扫描

    2018-09-08 05:44:58
    S扫描器是一个简单的使用两种常用的扫描方式进行端口扫描端口扫描器程序. 可实现的功能是: 1.两种不同的扫描方式(SYN扫描和一般的connect扫描) 2.可以扫描单个IP或IP段所有端口 3.可以扫描单个IP或IP段单个端口 4....
  • UDP端口扫描

    2013-06-22 16:30:50
    UDP端口扫描 找了一堆,觉得不好用,于是自己写了一个。 有代码,有文档。 编译环境VC6或VS2008均可。 代码风格还有很大的调整余地,不过应该不影响阅读。 补充一句,此代码可以可以改成多线程调用,也就是说速度...
  • 计算机网络课程设计——端口扫描器的实现 1.利用Socket通信机制实现一个多线程的端口扫描器。 2.设计要求: 2.1用户界面:用户可以输入IP地址或IP地址段;输入端口号或端口号范围;列表显示主机名、开放的端口及...
  • 端口扫描工具

    2013-11-27 09:09:19
    软件信息软件类别[1]:国产软件/IP 工具 软件授权:免费版 运行环境:Win9x/Me/NT/2000/XP/...2软件简介端口扫描工具是一个小巧的网络端口扫描工具,而且是绿色软件。 参考资料 1. 端口扫描工具下载及使用技巧 .
  • 主要是采用了.NET中的异步模型加事件通知(俗称IOCP),可能涉及到重复造轮子的嫌疑,但是确实要比很多端口扫描程序的速度要快上很多,因为没有采用多线程,相对来说线程占用不多,所以内存控制的还算比较不错!...
  • SSS扫描器 SSS扫描器 SSS扫描
  • SYN端口扫描

    热门讨论 2013-04-17 10:15:36
    设计实现 TCP 的 SYN 扫描,打印出被扫描主机上开启的 TCP 端口号 void scanbysyn(IN_ADDR *src_ip,IN_ADDR *dst_ip,int startport,int endport) 参数: src_ip:指向扫描主机 IP 地址的指针 dst_ip:指向目标主机 ...

空空如也

1 2 3 4 5 ... 20
收藏数 10,787
精华内容 4,314
关键字:

端口扫描