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


0

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


5
Windows 명령 줄 입니까, 아니면 정말로 MS-DOS입니까?
Dennis

답변:


3

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

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

0

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

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"

행운을 빌어 요!


0

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

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

이것이 기존 답변보다 나은 이유를 설명 할 수 있습니까?
DavidPostill

-w 100을 추가하면 범위 내의 많은 호스트가 응답하지 않을 때 범위를 핑 (ping)하는 시간이 줄어 듭니다. .0 및 .255는 핑할 필요가 없으므로 / 24 서브넷에 254 단위로 증가하는 것이 적합합니다. Brett는 또한 타임 아웃에 대해보다 공격적인 값인 20ms로 이에주의를 기울였습니다.
TS79

0

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.