Làm cách nào tôi có thể ping một loạt địa chỉ IP cùng lúc [đóng]


39

Tôi có một loạt các máy trên dải địa chỉ IP mà tôi muốn ping đồng thời như một cách nhanh chóng và bẩn thỉu để biết máy nào được bật. Tôi có thể sử dụng phần mềm (miễn phí) nào để làm việc này?

Tôi đang sử dụng Windows Vista .


2
Tôi đã thử máy quét ip tức giận và máy quét ip miễn phí và tức giận dường như nhanh hơn sau khi tăng số lượng luồng tối đa của nó lên phạm vi IP mà tôi có sau đó.
Jon Lồng

có một cơ hội nhỏ điều này có thể xảy ra với một số loại bảo mật. Có thể đặt cược tốt hơn là đặt các máy được thiết lập để ping máy chủ trung tâm theo các khoảng thời gian nhất định hoặc kiểm tra tại bộ định tuyến.
Journeyman Geek

Câu trả lời:


28

Cách nhanh nhất là sử dụng Angry IP Scanner

văn bản thay thế

Tôi sử dụng nó cho cùng một cách bạn muốn!


4
Nó có miễn phí không? Tôi đã sử dụng nó trong nhiều năm.
William Hilsum

2
À .. đúng rồi?
Jon Lồng

1
Điều đó thật tuyệt! : D +1
BloodPhilia

Điều này đặt ra một số chữ ký Antivirus cho "Chương trình không mong muốn tiềm tàng". Tôi đề nghị sử dụng PingInfoView của NirSoft thay thế.
Iszi

@iszi Sai tích cực ... Tôi vẫn nghĩ đây là chương trình tốt nhất cho công việc.
William Hilsum

39

Nmap có sẵn cho Windows:

# nmap -sP 10.0.10.1-100

4
nmap hoàn toàn là một phần mềm tuyệt vời
Mitchhu R

trên một số phiên bản mới hơn của nmap, đây là -snđể chạy "không quét cổng", chỉ tìm kiếm máy chủ.
Hartley Brody

13

Tôi đã sử dụng lệnh này

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

trong một tệp bó vì một lý do tương tự


5
bạn có chắc là nó đồng thời ping không? hoặc là một máy khác!
Vineet Menon

1
đồng ý, không đồng thời
hpavc

Bạn đúng đó là tuần tự chứ không phải đồng thời
Col


8

Thay vì ping thủ công tất cả các địa chỉ IP trên mạng LAN của bạn, bạn có thể làm như sau:

Mở một Dấu nhắc Lệnh và gõ:

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

-n 1 có nghĩa là chỉ có 1 gói ping sẽ được gửi đến mỗi máy tính.

Thay đổi 192.168.0để phù hợp với ID mạng của riêng bạn.

Điều này sẽ ping tất cả các địa chỉ IP trên phân đoạn mạng 192.168.0.0 và tạo một tệp văn bản có tên ipaddresses.txttrong C: \, trong đó nó sẽ chỉ liệt kê các địa chỉ IP đã trả lời.

Bạn cũng có thể thêm -avào lệnh ping để giải quyết tất cả các địa chỉ IP phản hồi thành tên máy chủ, nhưng làm như vậy sẽ khiến tập lệnh mất một thời gian đáng kể để hoàn tất:

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

Điều này vẫn ping họ một lúc mặc dù không? Máy quét IP tức giận ping tất cả IP trong mạng con cùng một lúc bằng cách khởi chạy nhiều luồng nên sẽ mất rất ít thời gian để hoàn thành quá trình quét.
Jon Lồng

Hoạt động rất tốt trong các tình huống không có chương trình bên ngoài nào có thể được cài đặt trên máy và / hoặc chỉ có bảng điều khiển văn bản khả dụng. Nhắc nhở duy nhất cho người dùng quốc tế là chuỗi "Trả lời" phải được thay đổi thành bất kỳ phiên bản ping cục bộ nào đang sử dụng. Cám ơn vì đã chia sẻ!
Alberto M

6

thử fping


Nó cũng có sẵn trên brew cho OSX (bao gồm bất kỳ ai lướt web từ Google và bỏ lỡ Windows trong tiêu đề.)
Ross

4

Bạn chỉ có thể viết một tập lệnh Bash lặp qua một dải địa chỉ IP và ping chúng. Một ví dụ cho thấy địa chỉ ping trong phạm vi 10.1.1.1 đến 10.1.1.255 (đã bao gồm):

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

Tôi nghĩ rằng "500" muốn là 255 hoặc ít hơn?
David Mackffy

2
Và tôi nghĩ ping 10.1.1.icó lẽ muốn được ping 10.1.1.$i.
Adam Luchjenbroers

1
cũng không đồng thời
hpavc

Tôi tin rằng bạn sẽ cần phải vượt qua cờ "-c". Một cái gì đó như "ping -c1 192.168.1.1". nếu không, bạn sẽ bị mắc kẹt trong khi.
zee

3

Lưu tập lệnh bên dưới trên máy chủ với phần mở rộng .bathoặc .cmdvà gọi tệp từ dấu nhắc lệnh. Nó sẽ nhắc bạn nhập phạm vi địa chỉ IP.

Vui lòng chỉ nhập ba octet của địa chỉ 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

Khi lệnh đã chạy, nó sẽ tạo một tên tệp văn bản pingnet.logtrong thư mục gốc của ổ đĩa C. Tập tin đó sẽ cung cấp cho bạn một danh sách các địa chỉ IP được sử dụng và xuống (miễn phí).

Ví dụ:

10.2.214.1 UP   
10.2.214.2 UP   
10.2.214.3 UP   
10.2.214.4 DOWN 

Nó khá đơn giản để chạy, và nó sẽ giúp bạn tiết kiệm rất nhiều thời gian.


1
Điều này thực sự khá chậm so với máy quét IP tức giận vì nó thực hiện từng cái một. Trừ khi hầu hết phạm vi IP được sử dụng, bạn sẽ phải chờ vài phút để phương pháp này đưa ra câu trả lời.
Jon Lồng

2

Angry IP Scanner rất tuyệt, nhưng tôi thích các công cụ CLI. Xem nếu bạn có thể có được tập lệnh powershell này chạy trong Vista. https://github.com/webstersprodigy/PowerSploit/blob/Portscan/Recon/Invoke-Portscan.ps1

Tôi cũng đề nghị truy cập vào Linux CLI bằng cách sử dụng đĩa cd / usb trực tiếp linux, khởi động kép hoặc vm trong VirtualBox. (Cài đặt VirtualBox, thêm vm mới, cài đặt Debian.) CLI linux là vô giá.

Từ một CLI linux, hãy chạy như sau:

Quét dựa trên PING

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

Điều chỉnh cho phạm vi mạng của bạn (phần '172.10.1') và bạn tắt. Điều này sẽ cung cấp một danh sách tất cả các máy chủ lưu trữ trên mạng đáp ứng các yêu cầu ICMP echo (ping) và giải quyết chúng đối với máy chủ DNS của bạn.

Lưu ý: Đây không phải là cách đáng tin cậy nhất để kiểm tra các máy chủ trực tiếp vì chúng có thể bị chặn ICMP.

Quét dựa trên nmap

nmap -sP 192.168.1.0/24

Lưu ý: Nmap đáng tin cậy hơn vì nó là một trình quét cổng và dựa trên kết quả của nó trên hoạt động không chỉ là phản hồi của ICMP. Nó được sử dụng nhiều bởi các pentesters và đáng để học hỏi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.