热门标签 | 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允许用户设置一个低的 时间以用尽周期,并同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且很容易被过滤掉。目标计算机的日志文件会显示一连串的连接和连接出错的服务 消息,目标计算机用户发现后就能很快使它关闭。


推荐阅读
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • CentOS 7.2 配置防火墙端口开放
    本文介绍如何在 CentOS 7.2 系统上配置防火墙以开放特定的服务端口,包括 FTP 服务的临时与永久开放方法,以及如何验证配置是否生效。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
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社区 版权所有