gpt4 book ai didi

BASH端口敲与组合

转载 作者:行者123 更新时间:2023-11-29 09:32:47 25 4
gpt4 key购买 nike

我正在尝试使用 bash 生成具有 {1..3} 所有可能组合的端口碰撞。在过去的 48 小时里,我一直在努力寻找答案,并最终寻求一些帮助。

我当前的代码如下:

#!/bin/bash
HOST=$1
COUNTER=0
while [ COUNTER -lt 100 ];do
shift
for PORT in "$@"
do
nmap -Pn --host_timeout 100 --max-retries 0 -p $PORT $HOST
let COUNTER=COUNTER+1
done
done

#Syntax knock.sh x.x.x.x 1 2 3

最佳答案

不确定你为什么有这个COUNTER,但据我了解你想要什么,你可能:

  • 错位的 shift,
  • 在您的 while 条件中误用了 [](测试),
  • 错位 让 COUNTER=COUNTER+1

用最少的改动快速修复:

#!/bin/bash
HOST=$1
shift
COUNTER=0
while [ $COUNTER -lt 100 ]; do
for PORT in "$@"
do
nmap -Pn --host_timeout 100 --max-retries 0 -p $PORT $HOST
done
let COUNTER=COUNTER+1
done

就个人而言,我会写:

HOST=$1
shift
for (( COUNTER = 0; COUNTER < 100; COUNTER += 1 )); do
for PORT in "$@"; do
nmap -Pn --host_timeout 100 --max-retries 0 -p $PORT $HOST
done
done

我觉得更容易理解。品味问题。关于您的编码风格的评论:您可能应该尝试保持一致,并在半列(您的 while 循环)或换行符(您的 for 循环)之间进行选择。当然,正确缩进您的代码。这真的很有帮助。

关于BASH端口敲与组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32810683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com