주소 범위를 ping하는`cmd.exe` 명령 주소 범위를 어떻게

A로 시작하고 B로 끝나는 주소 범위를 어떻게 핑 (ping) 할 수 있습니까?



답변

for루프를 사용하여 각 IP 주소를 한 번에 하나씩 핑 (ping) 할 수 있지만 속도매우 느립니다 .

for /l %i in (1,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"

답변

이 명령과 실제로 어떻게 작동하는지 더 잘 이해할 수 있습니다. 명령

for /l %i in (1,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"

: 192.168.0.XXX의 지정된 네트워크에서 단 하나의 응답을 기다리는 동안 255에 도달 할 때까지 매번 1을 세면서 1부터 핑 루프를 수행하십시오.

A에서 B로 지정하는 것은 명령의 (1,1,255) 부분에 있습니다. (x, y, z) x는 A 값 (또는 범위의 시작점)을 나타내며 y는 시도 할 다음 값을 찾기위한 카운트 업 양을 나타내고 z는 B 값 (또는 범위의 최대 끝)을 나타냅니다. .

매우 유용한 명령과 내가하는 일은 명령을 3 개의 범위로 나누고 3 개의 명령 프롬프트를 열고 3 개의 범위를 동시에 실행하여 프로세스 속도를 높이고 가독성을 높이는 것입니다. 가독성은 전체 범위 명령을 실행하면 결과가 예로 나오기 때문에 궁극적으로 3 개의 범위를 사용하기 시작한 이유는 있지만 뒤로 스크롤하면 뒤로 돌아가서 단거리에서만 유용합니다.

범위 1-80 :

for /l %i in (1,1,80) do ping -n 1 192.168.0.%i | find /i "Reply"

사거리 81-165 :

for /l %i in (81,1,165) do ping -n 1 192.168.0.%i | find /i "Reply"

166 ~ 255 범위 :

for /l %i in (166,1,255) do ping -n 1 192.168.0.%i | find /i "Reply"

행운을 빌어 요!


답변

100ms 시간 초과 및 더 깔끔한 출력으로 수행하는 방법은 다음과 같습니다.

FOR /L %i IN (1,1,254) DO @ping -n 1 -w 100 192.168.1.%i | FIND /i "TTL"

답변

위의 느린 응답 속도를 높이고 원하는 노드가 LAN 또는 빠른 완에 있다고 가정하면 핑에 시간 초과를 추가하십시오 (여기서는 20 밀리 초).

for /l %i in (1,1,255) do ping -w 20 -n 1 192.168.0.%i | find /i "Reply"

이 유틸리티는 적절한 유틸리티가없고 포트가 없거나 광범위한 포트 스캔을 원하거나 클라이언트가 포트를 수신하지 않는 경우에 유용합니다.


답변