IP 주소 범위를 확인하여 호스트가 활성 상태인지 확인하세요.

IP 주소 범위를 확인하여 호스트가 활성 상태인지 확인하세요.

호스트가 해당 주소에서 "활성"인지 확인하기 위해 일련의 IP 주소를 확인하는 bash 쉘 스크립트를 작성해야 합니다. 또한 이러한 "활성" IP 번호를 나열하고 "활성" 및 "비활성" IP 주소 수를 보여주는 요약을 제공해야 합니다. 주소 범위는 모두 "클래스 C" 네트워크에 있습니다. 각 매개변수를 전달하고 범위 내 각 개별 주소를 ping하는 방법을 파악하는 데 문제가 있습니다.

다음은 제가 만들려는 스크립트의 샘플 실행입니다.

$ programName 192.168.42 18 22 

Checking: 192.168.42.18 19 20 21 22 

Live hosts: 
 192.168.42.21 
 192.168.42.22 

There were: 
 2 alive hosts 
 3 not alive hosts 
 found through the use of 'ping'.

답변1

이제 시작해야 합니다.

#!/bin/bash
for i in `seq ${2} ${3}`
do
    ping -c 1 ${1}.${i} > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "${1}.${i} responded."
    else
        echo "${1}.${i} did not respond."
    fi
done

예제 출력:

xxxx@xxxxxx:~$ bash test.sh 10.140.0 100 103
10.140.0.100 responded.
10.140.0.101 did not respond.
10.140.0.102 did not respond.
10.140.0.103 did not respond.

이것배쉬 매뉴얼어쩌면 필요한 다른 것을 처리할 수도 있습니다.

답변2

사용지도. 이것은 작업을 위한 표준 도구입니다.

어떤 호스트가 온라인 상태인지(그리고 응답하는지) 알고 싶으면 "ping scan"을 실행하십시오 nmap -sP.

출력 형식에 신경 쓰지 않는다면 스크립트를 다음과 같이 작성할 수 있습니다.

#!/bin/sh
nmap -sP "$1.$2-$3"

관련 정보