저는 "Penetration Testing: Hands-On..."이라는 책을 읽고 있는데 이 간단한 bash 스크립트를 실행하는 동안 장애물에 부딪혔습니다.
이 스크립트는 기본적으로 지정된 네트워크의 모든 254개 호스트에 ping을 보내 ICMP 응답을 검색하는 것처럼 보입니다. 나는 이것을 nano로 작성하고 있으며 ping 명령을 누르기 전까지는 모든 것이 괜찮아 보입니다. "ping"은 색상 등을 변경하지 않으므로 nano가 이를 명령으로 인식하지 못한다고 가정합니다. 왜 그런지 잘 모르겠습니다. IP 주소를 핑하는 데 문제가 없지만 스크립트 내에서는 작동하지 않는 것 같습니다.
#!/bin/bash
if [ "$1" == "" ]
then
echo "Usage: ./pingscript.sh [network]"
echo "example: ./pingscript.sh 192.168.0"
else
for x in 'seq 1 254' ; do
ping -c 1 $1.$x | grep "64 bytes"
done
fi
ping 명령이 작동하지 않는 이유는 무엇입니까? 앞서 언급했듯이 "ping"은 나노 내에서 색상을 변경하지 않습니다. 또한 스크립트를 실행하면 "ping:192.168.0.seq: 이름 또는 서비스를 알 수 없습니다."라는 오류가 발생합니다.
지금 저는 칼리 최신 버전을 사용하고 있는데, 이 책은 1.0.6을 사용하고 있습니다. 어떤 통찰력이라도 감사하겠습니다.
답변1
이 설정을 변경해 주세요
for x in 'seq 1 254'
도착하다
for x in `seq 1 254`
또는
for x in $(seq 1 254)