热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

低速扫描实验记录

主要参考:https:blog.csdn.netzhaowei1945articledetails78466785https:www.cnblogs.comLuc

 

主要参考:

https://blog.csdn.net/zhaowei1945/article/details/78466785

https://www.cnblogs.com/LuckWJL/p/7692005.html

https://www.freebuf.com/sectool/119340.html

https://www.cnblogs.com/wiessharling/p/4070826.html

实验记录如下:


  • 概述

使用三种最常见的扫描工具:zmap、nmap、netcat,对内网IP进行低速扫描实验。统计实验中数据的特性,包括packets,bytes,timeout_state_num,retransmit等。


  • 实验内容

2.1 nmap工具

Nmap的功能非常强大,其基本功能有主机发现、开放端口扫描、支持多端口、多网段、可对目标域名进行扫描;同时具备识别功能:识别端口服务类型及版本、操作系统、设备类型等;而且还有多种扫描模式:TCP SYN scan、TCP connectscan、UDP scan、No Ping scan等。

本次实验中,采用了TCP半开扫描(TCP SYN scan)、TCP全扫描(TCP connect scan)以及Fin扫描(Fin scan)三种形式。可选项 -Tn,其中n取值0-5,表示不同的速度,T5最快(间隔0s),T0最慢(间隔5min)。实验选择T1,两次扫描间隔15s。

2.2 zmap工具

Zmap采用了无状态的扫描技术,没有进行完整的TCP三次握手,因此扫描速度极大提升。Zmap的基本功能是扫描发现主机的开放端口。

在实验中是对172.23.2.0/24段的22端口进行慢扫描,zmap对未开机的机器也会发送扫描包。可选项-r用于设置扫描的发包速率packets/sec(包每秒)。

2.3 netcat工具

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具,其有Windows和Linux的版本,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。

实验过程中,netcat进行TCP全扫描,使用如下命令对某台机器的22-53号端口进行扫描,每次扫描间隔30s:nc -z -v -r -i 30 172.23.2.199 22-53


  • 实验结果

将实验结果进行统计后,如下面三个表格。表格头in、out表示两个方向,对应值为n(+m)[x],n表示packets,m表示重传数,x表示bytes。

 


工具

TCP 全扫描

防火墙过滤/不可达

端口开

端口关

状态

In

Out

状态

In

Out

状态

In

out

nmap

1

1[74B]

0

13

3[206B]

1[74B]

10

1[54B]

1[54B]

netcat

 

 

 

13

4[260B]

3[227B]

1

1[74B]

0

 

 


工具

TCP 半开扫描

防火墙过滤/不可达

端口开

端口关

状态

In

Out

状态

In

Out

状态

In

Out

nmap

1

1[58B]

0

11

2[112B]

1[58B]

10

1[58B]

1[54B]

zmap

1

1[54B]

0

11

3(+1)[162B]

1[58B]

10

1[54B]

1[54B]

 

 


工具

FIN 扫描

不可达/过滤

端口开

端口关

状态

In

Out

状态

In

Out

状态

In

Out

nmap

4

1[54B]

0

4

1[54B]

0

15

1[54B]

1[54B]

 

 

附录

1.TCP SYN Scan(TCP同步序列号扫描)

若端口扫描没有完成一个完整的 TCP连接,即在扫描主机和目标主机的一指定端口建立连接的时候,只完成前两次握手,在第三步时,扫描主机中断了本次连接, 使连接没有完全建立起来,所以这种端口扫描又称为“半连接扫描”,也称为“间接扫描”或“半开式扫描”(Half Open Scan)。

SYN 扫描,通过本机的一个端口向对方指定的端口,发送一个TCP的SYN连接建立请求数据报,然后开始等待对方的应答。如果应答数据报中设置了SYN位 和ACK位,那么这个端口是开放的;如果应答数据报是一个RST连接复位数据报,则对方的端口是关闭的。

 

2. TCP FIN Scan(TCP结束标志扫描)

这种扫描方式不依赖于TCP的3次握 手过程,而是TCP连接的“FIN”(结束)位标志。原理在于TCP连接结束时,会向TCP端口发送一个设置了FIN 位的连接终止数据报,关闭的端口会回应一个设置了RST的连接复位数据报;而开放的端口则会对这种可疑的数据报不加理睬,将它丢弃。可以根据是否收到 RST数据报来判断对方的端口是否开放。

此扫描方式的优点比前两种都要隐秘,不容易被发现。该方案有两个缺点:首先, 要判断对方端口是否开放必须等待超时,增加了探测时间,而且容易得出错误的结 论;其次,一些系统并没有遵循规定,最典型的就是Microsoft公司所开发的操作系统。这些系统一旦收到这样的数据报,无论端口是否开放都会回应一个 RST连接复位数据报,这样一来,这种扫描方案对于这类操作系统是无效的。

 

3. TCP connect Scan(TCP连接扫描)

这 种方法也称之为“TCP全连接扫描”。它是最简单的一种扫描技术,所利用的是TCP协议的3次握手过程。它直接连到目标端口并完成一个完整的3次握手过 程(SYN、SYN/ACK和ACK)。操作系统提供的“connect()”函数完成系统调用,用来与目标计算机的端口进行连接。如果端口处于侦听状态,那么“connect()”函数就能成功。否则,这个端口是不能用的,即没有提供服务,得到RST连接复位数据报。

TCP连接扫描技术的一个 最大的优点是不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个好处是速度快。如果对每个目标端口以线性的方式,使 用单独的“connect()”函数调用,那么将会花费相当长的时间,用户可以同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许用户设置一个低的 时间以用尽周期,并同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且很容易被过滤掉。目标计算机的日志文件会显示一连串的连接和连接出错的服务 消息,目标计算机用户发现后就能很快使它关闭。


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
author-avatar
海滨的微博小窝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有