IP 그룹에 ping을 보내고 온라인으로만 반환하는 스크립트는 무엇입니까?

IP 그룹에 ping을 보내고 온라인으로만 반환하는 스크립트는 무엇입니까?

IP 그룹을 핑하고 결과적으로 온라인 그룹을 반환하는 스크립트가 필요합니다. 예를 들어 에코됩니다. 10.10.10.10이 온라인 상태입니다.

10.10.10.11이 온라인 상태입니다.

10.10.10.15 온라인 상태입니다

패키지나 타사 유틸리티를 사용하지 않고!

도움이 필요하세요?

답변1

스크립트가 필요하지 않습니다.nmapnmap 설치당신을 위해 그것을 할 수 있습니다.

예를 들어, 10.10.10.0/24 네트워크를 스캔하려면 다음을 수행하십시오.

nmap -sn 10.10.10.0/24

이는 'ping'이라고 알려진 ICMP 에코 요청에 대한 응답을 기반으로 호스트가 작동 중임을 보고합니다. 출력 예:

Starting Nmap 5.21 ( http://nmap.org ) at 2014-01-30 00:40 CET
Nmap scan report for 10.10.10.1
Host is up (0.0061s latency).
Nmap scan report for 10.10.10.2
Host is up (0.00071s latency).
Nmap scan report for android (10.10.10.112)
Host is up (0.0087s latency).
Nmap scan report for laptop (10.10.10.134)
Host is up (0.00037s latency).
Nmap scan report for 10.10.10.151
Host is up (0.00094s latency).
Nmap scan report for 10.10.10.203
Host is up (0.00060s latency).
Nmap done: 256 IP addresses (6 hosts up) scanned in 3.41 seconds

답변2

아래 스크립트는 서브넷 IP에서 루프를 수행하고 결과적으로 online만 반환합니다.

#!/bin/bash

is_alive_ping()
{
  ping -c 1 $1 > /dev/null
  [ $? -eq 0 ] && echo Node with IP: $i is Online.
}

for i in 10.1.1.{1..255} 
do
is_alive_ping $i & disown
done

변경사항 참고 10.1.1. 서브넷에 1..255는 스크립트에 10.1.1.1에서 시작하도록 지시하고 루프는 10.1.1.255를 지시합니다.

실행하다:

./ping_scan.sh

관련 정보