📜  慢速扫描 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:39:37.885000             🧑  作者: Mango

慢速扫描 - Shell-Bash

在编写脚本时,有时候需要进行一些文件或者端口的扫描。而在扫描时,有些情况下需要使用慢速扫描来防止被系统检测到。这篇文章将介绍如何使用Shell-Bash实现慢速扫描。

实现原理

慢速扫描的原理是使用一些技巧减缓扫描的速度,从而不会被系统检测到。以下是一些实现慢速扫描的技巧:

  1. 使用低速率的网络连接。
  2. 延迟扫描时间。
  3. 更改扫描端口的顺序。
  4. 将扫描数据分割为更小的块。
  5. 随机化扫描的起始端口。
  6. 将扫描的数据包混合在其他网络流量中。
实现步骤

下面是一个基本的慢速扫描脚本的实现步骤:

  1. 输入目标IP地址和要扫描的端口范围。
  2. 使用一个循环,让脚本遍历端口范围中的每一个端口。
  3. 对于每个端口,使用nc命令进行连接尝试,并加入一些选项,如等待时间和连接超时时间,从而模拟使用低速率的网络连接。
  4. 在扫描每个端口之间,加上随机的延迟时间,从而延迟扫描时间。
  5. 接收nc命令的输出,并将其存储到一个文件中。

下面是一个示例脚本:

#!/bin/bash

# 输入目标IP地址和要扫描的端口范围
read -p "Enter target IP address: " ip
read -p "Enter port range to scan (e.g. 1-100): " portrange

# 将端口范围分割为起始和结束端口
startport=$(echo $portrange | cut -d "-" -f 1)
endport=$(echo $portrange | cut -d "-" -f 2)

# 使用随机的延迟时间和等待时间进行端口扫描
for ((port=$startport; port<=$endport; port++))
do
    delay=$(($RANDOM%5+1))
    nc -w 3 -z -v $ip $port > output.txt &
    sleep $delay
done

代码片段按markdown标明:

# 输入目标IP地址和要扫描的端口范围
read -p "Enter target IP address: " ip
read -p "Enter port range to scan (e.g. 1-100): " portrange

# 将端口范围分割为起始和结束端口
startport=$(echo $portrange | cut -d "-" -f 1)
endport=$(echo $portrange | cut -d "-" -f 2)

# 使用随机的延迟时间和等待时间进行端口扫描
for ((port=$startport; port<=$endport; port++))
do
    delay=$(($RANDOM%5+1))
    nc -w 3 -z -v $ip $port > output.txt &
    sleep $delay
done
总结

慢速扫描是一种非常有用的扫描技术,可以让你在进行一些敏感的任务时更加安全。Shell-Bash是一种非常强大的编程语言,可以用来实现各种各样的脚本,包括慢速扫描。无论是初学者还是高级用户,掌握Shell-Bash都是非常值得的。