ฉันจะ ping ช่วงของที่อยู่ IP พร้อมกันได้อย่างไร [ปิด]


39

ฉันมีเครือข่ายหลายเครื่องในช่วงที่อยู่ IP ซึ่งฉันต้องการ ping พร้อมกันเป็นวิธีที่รวดเร็วและสกปรกในการบอกว่าสวิตช์ใดเปิดใช้อยู่ ฉันสามารถใช้ซอฟต์แวร์ใดในการทำสิ่งนี้ได้ฟรี

ฉันใช้Windows Vista


2
ฉันลองใช้เครื่องสแกนไอพีโกรธและสแกนเนอร์ไอพีฟรีและดูเหมือนว่าโกรธเร็วขึ้นหลังจากเพิ่มจำนวนเธรดสูงสุดจนถึงช่วงของ IP ที่ฉันทำ
Jon Cage

มีโอกาสเล็กน้อยที่อาจทำให้เกิดความปลอดภัย อาจเป็นการดีกว่าถ้าคุณตั้งค่าเครื่องเป็น ping เซิร์ฟเวอร์กลางในบางช่วงเวลาหรือตรวจสอบที่เราเตอร์
Geek

คำตอบ:


28

วิธีที่เร็วที่สุดคือการใช้Angry IP Scanner

ข้อความแสดงแทน

ฉันใช้มันในแบบเดียวกับที่คุณต้องการ!


4
ว่าง? ฉันใช้มันมาหลายปีแล้ว
William Hilsum

2
เอ่อใช่มันคืออะไร?
Jon Cage

1
มันดีมาก! : D +1
BloodPhilia

สิ่งนี้จะกำหนดลายเซ็นแอนตี้ไวรัสสำหรับ "โปรแกรมที่อาจไม่เป็นที่ต้องการ" ฉันแนะนำให้ใช้PingInfoViewของ NirSoft แทน
Iszi

@ iszi False positive ... ฉันยังคิดว่านี่เป็นโปรแกรมที่ดีที่สุดสำหรับงานนี้
William Hilsum

39

Nmapพร้อมใช้งานสำหรับ Windows:

# nmap -sP 10.0.10.1-100

4
nmap เป็นอย่างที่เป็นชิ้นใหญ่ของซอฟแวร์
Prabhu R

ใน nmap เวอร์ชันที่ใหม่กว่าบางส่วนนี่คือ-snการเรียกใช้ "ไม่มีการสแกนพอร์ต" เพียงแค่ค้นหาโฮสต์
Hartley Brody

13

ฉันใช้คำสั่งนี้

for %%i in 200 to 254 do ping 10.1.1.%%i 

ในไฟล์แบตช์ด้วยเหตุผลที่คล้ายกัน


5
คุณแน่ใจหรือไม่ว่า ping พร้อมกัน หรือเป็นเครื่องหนึ่งหลังจากนั้นอีก!
Vineet Menon

1
ตกลงไม่พร้อมกัน
hpavc

คุณพูดถูกมันเรียงตามลำดับมากกว่ากันพร้อมกัน
Col


7

แทนที่จะกระตุกที่อยู่ IP ทั้งหมดด้วยตนเองใน LAN ของคุณคุณสามารถทำสิ่งต่อไปนี้:

เปิดพร้อมท์คำสั่งและพิมพ์:

FOR /L %i IN (1,1,254) DO ping -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt

-n 1 หมายความว่าจะส่งเพียง 1 แพ็คเก็ตปิงไปยังคอมพิวเตอร์แต่ละเครื่อง

เปลี่ยน192.168.0ให้ตรงกับ ID เครือข่ายของคุณ

สิ่งนี้จะ ping ที่อยู่ IP ทั้งหมดในส่วนเครือข่าย 192.168.0.0 และสร้างไฟล์ข้อความชื่อipaddresses.txtC: \ ซึ่งจะแสดงเฉพาะที่อยู่ IP ที่ให้การตอบกลับเท่านั้น

นอกจากนี้คุณยังสามารถเพิ่ม-aคำสั่ง ping เพื่อแก้ไขที่อยู่ IP ที่ตอบสนองต่อชื่อโฮสต์ทั้งหมด แต่การทำเช่นนั้นจะทำให้สคริปต์ใช้เวลาพอสมควรในการเสร็จสิ้น:

FOR /L %i IN (1,1,254) DO ping -a -n 1 192.168.0.%i | FIND /i "Reply">>C:\ipaddresses.txt

ยังคงส่ง Ping ไปทีละครั้งแม้ว่าจะไม่ใช่หรือ Angry IP Scanner สแกน IP ทั้งหมดในซับเน็ตพร้อมกันโดยเปิดตัวหลายเธรดดังนั้นจึงใช้เวลาน้อยมากในการสแกนทั้งหมด
Jon Cage

ทำงานได้ดีมากในสถานการณ์ที่ไม่สามารถติดตั้งโปรแกรมภายนอกบนเครื่องได้และ / หรือมีเพียงคอนโซลข้อความเท่านั้น ข้อแม้เดียวสำหรับผู้ใช้ต่างประเทศคือสตริง "ตอบกลับ" จะต้องเปลี่ยนเป็นสิ่งที่รุ่นปิงในท้องถิ่นกำลังใช้อยู่ ขอบคุณสำหรับการแบ่งปัน!
Alberto M


4

คุณสามารถเขียนสคริปต์Bashที่วนรอบช่วงที่อยู่ IP และส่ง Ping ตัวอย่างที่ส่ง Ping ไปยังที่อยู่ในช่วง 10.1.1.1 ถึง 10.1.1.255 (รวม):

for i in {100..255}
do
    ping 10.1.1.$i
done

ฉันคิดว่า "500" ต้องการเป็น 255 หรือน้อยกว่า
David Mackintosh

2
และผมคิดว่าอาจจะอยากจะเป็นping 10.1.1.i ping 10.1.1.$i
Adam Luchjenbroers

1
ยังไม่พร้อมกัน
hpavc

ฉันเชื่อว่าคุณจะต้องผ่านธง "-c" บางอย่างเช่น "ping -c1 192.168.1.1" ไม่เช่นนั้นคุณจะติดอยู่หน้าเวทีในขณะที่
Zee

3

บันทึกสคริปต์ด้านล่างบนเซิร์ฟเวอร์ด้วยส่วนขยาย.batหรือ.cmdและเรียกใช้ไฟล์จากพรอมต์คำสั่ง ควรแจ้งให้คุณป้อนช่วงที่อยู่ IP

โปรดป้อนที่อยู่ IP สามชุดเท่านั้น


@echo off

SET count=0
SET /p subnet=Please enter IP address range (for example, 192.168.0)

:start
SET /a count=%count%+1

cls
ECHO. & ECHO Trying %subnet%.%count% & ECHO.

ping -n 1 -w 1000 %subnet%.%count% >nul  
IF %errorlevel%==0 echo %subnet%.%count% UP >> c:\pingnet.log  
IF %errorlevel%==1 echo %subnet%.%count% DOWN >> c:\pingnet.log

IF %count%==254 goto :eof

GOTO start

เมื่อคำสั่งรันแล้วมันจะสร้างชื่อไฟล์ข้อความpingnet.logในรูทของไดรฟ์ C ไฟล์ดังกล่าวควรแสดงรายการที่อยู่ IP ที่ใช้แล้วและที่ว่างลง (ฟรี)

ตัวอย่างเช่น:

10.2.214.1 UP   
10.2.214.2 UP   
10.2.214.3 UP   
10.2.214.4 DOWN 

มันค่อนข้างง่ายต่อการวิ่งและควรช่วยคุณประหยัดเวลา


1
อันนี้ค่อนข้างช้าเมื่อเทียบกับ IP สแกนเนอร์ที่โกรธเหมือนกันทีละตัว หากไม่ใช้ช่วง IP ส่วนใหญ่คุณจะต้องรอสักครู่สำหรับวิธีนี้เพื่อให้คำตอบ
Jon Cage

2

Angry IP Scanner นั้นยอดเยี่ยม แต่ฉันชอบเครื่องมือของ CLI ดูว่าคุณสามารถทำให้สคริปต์ PowerShell นี้ทำงานใน Vista ได้หรือไม่ https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1

ฉันยังแนะนำให้เข้าถึง Linux CLI โดยใช้ linux live cd / usb, dual boot หรือ vm ใน VirtualBox (ติดตั้ง VirtualBox เพิ่ม vm ใหม่ติดตั้ง Debian) linux CLI นั้นมีค่ายิ่ง

จาก linux CLI ให้เรียกใช้สิ่งต่อไปนี้:

PING Based Scan

for ip in 172.10.1.{1..254}; do ping -c 1 -w 1 $ip > /dev/null && echo $ip "$(nslookup $ip | grep 'name = ' | awk -F ' = ' '{print $2}')"; done

ปรับสำหรับช่วงเครือข่ายของคุณ (ส่วน '172.10.1') และคุณปิด สิ่งนี้จะให้รายการของโฮสต์ทั้งหมดบนเครือข่ายที่ตอบสนองต่อคำขอ ICMP echo (ping) และแก้ไขพวกเขากับเซิร์ฟเวอร์ DNS ของคุณ

หมายเหตุ: นี่ไม่ใช่วิธีที่น่าเชื่อถือที่สุดในการทดสอบโฮสต์สดเนื่องจากอาจถูกบล็อกด้วย ICMP

การสแกนตาม nmap

nmap -sP 192.168.1.0/24

หมายเหตุ: Nmap เชื่อถือได้มากกว่าเนื่องจากเป็นสแกนเนอร์พอร์ตและยึดผลการดำเนินการตามกิจกรรมเป็นมากกว่าการตอบกลับ ICMP มันถูกใช้อย่างหนักโดย pentesters และคุ้มค่ากับการเรียนรู้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.