Lệnh Windows để hiển thị tất cả các địa chỉ IP


31

Tôi biết có một dòng lệnh và các đối số của nó có thể giúp hiển thị tất cả các địa chỉ IP của máy tính (những địa chỉ đang được sử dụng) trên mạng LAN và máy tính của tôi cũng là một máy khách, như một trong những địa chỉ được hiển thị, nhưng tôi đã quên. Nó là gì?


Tôi không nghĩ rằng điều này là có thể theo cách chung chung như vậy.
theglauber

Bạn sẽ phải quét ping mạng con cục bộ và sau đó sử dụng lệnh arp -a được liệt kê bên dưới.
cpt_fink


Tốt hơn là kiểm tra tất cả địa chỉ IP bằng cách sử dụng 'Địa chỉ IP tức giận'.
vembutech

Câu trả lời:


28

Bạn có thể thực hiện arp -alệnh để hiển thị tất cả các mục ARP trong bảng về các máy tính trên mạng của bạn.

Nguồn


6
Nó cho thấy mọi hệ thống mà máy tính của bạn biết / nói chuyện - tuy nhiên, nó có thể chưa hoàn chỉnh - Tôi đã chạy thử nghiệm nhanh với arp -a và nó không hiển thị một hoặc hai hệ thống của tôi cho đến khi tôi ping nó.
Journeyman Geek

Ya, giống như liên kết tôi đã đăng, nó sẽ không hiển thị mọi thứ trừ khi nó được lưu trữ trong các bảng để máy không được hiển thị nhưng nó thực hiện một danh sách khá tốt.
GigabitP

Chào mừng bạn đến với trao đổi ngăn xếp, Gigabit Pony! Khi một liên kết chiếm phần lớn câu trả lời của bạn, bạn nên luôn trích dẫn những phần quan trọng trong trường hợp nó chết sau đó. Xem thêm cách viết câu trả lời hay .
Blacklight Shining

21

Không phải tất cả mọi thứ có địa chỉ IP đều là máy tính - tôi thấy không có đề xuất nào trong số những đề xuất này trả về tất cả các địa chỉ IP đang hoạt động - thực tế hầu hết được trả về rất ít. Mạng gia đình của tôi có sự kết hợp của các thiết bị có dây và không dây và hai bộ định tuyến, điện thoại di động, TV, PVR, Apple AirPort và có lẽ một vài điều tôi đã quên. Tôi đã sử dụng cách sau để quét tất cả các địa chỉ trên mạng con 192.168.1.xxx:

for /L %i in (0,1,255) do ping -n 1 -w 250 192.168.1.%i>>ipaddress.txt

Tệp kết quả ipaddress.txt chứa kết quả ping cho tất cả các địa chỉ và tôi đã tìm những địa chỉ có " Received = 1" - hiện tại 16 địa chỉ trả về kết quả - tôi chỉ có 4 máy tính trong nhà - và chúng không phải là tất cả.


Một chỉnh sửa được đề xuất (khôi phục lại) for /L %i in (0,1,255) do ping -n 1 192.168.1.%i -4 | findstr -m "bytes=32" >> ipaddress.txtcó giá trị, nhưng không phải là cơ bản cho câu trả lời, không phù hợp với phần còn lại của câu trả lời được sử dụng Received = 1thay vì bytes=32, và không nhất thiết là cách tôi đã thực hiện. Tôi đang thêm bình luận này nếu ai đó thấy gợi ý hữu ích.
Clifford

1
for /L %i in (1,1,254)có thể phù hợp hơn, vì xxxxxx.0là địa chỉ của toàn mạng và xxxxxx.255là địa chỉ quảng bá.
Scott

13

Có một net view /alllệnh sẽ liệt kê tất cả các tên máy tính được kết nối với cùng một mạng LAN.

Từ đó bạn có thể truy xuất các địa chỉ IP riêng lẻ bằng cách sử dụng nslookup <computer name>lệnh hoặc viết một tập lệnh bó để làm điều đó cho bạn.

Dưới đây là một ví dụ tôi đã ném cùng nhau để minh họa.

@echo off
setlocal EnableDelayedExpansion
set "xNext="
set "xComputer="
for /f %%A in ('net view /all') do (
    set "xComputer=%%~A"
    if "!xComputer:~0,2!"=="\\" for /f "tokens=2,* delims=. " %%X in ('nslookup %%A') do (
        if "!xNext!"=="1" (
            echo.!xComputer! = %%X.%%Y
            set "xNext=0"
        )
        if "!xComputer:~2!"=="%%~X" set "xNext=1"
    )
)
endlocal
pause

5

Ngoài ra arp -a, net view /allhoặc viết một tập lệnh bó, không có dòng lệnh gốc / dựng sẵn để làm điều này (ít nhất là không phải tôi biết).

Nếu bạn sẵn sàng sử dụng lệnh không phải bản địa, tôi sẽ đề xuất sử dụng Nmap . Bạn có thể chạy nmap -sn 192.168.0.0/24(thay thế mạng con bằng mạng thích hợp cho mạng LAN của bạn) để đạt được những gì bạn đang tìm kiếm, đáng tin cậy hơn so với net view /allhoặc arp -atheo ý kiến ​​của tôi.


1

ipconfig /all (sử dụng dấu gạch chéo về phía trước, không ngược lại)


20
ipconfig liệt kê các giao diện của chính PC chứ không phải các địa chỉ IP được sử dụng trên mạng LAN.
Christian

1

Như được chỉ định bởi người khác, bạn có thể sử dụng arp -atuy nhiên hãy đảm bảo rằng bạn ping địa chỉ quảng bá trước để ARP báo cáo tất cả các thiết bị. Ví dụ,ping 192.168.0.255

bạn nhận được một danh sách tất cả các thiết bị được kết nối với mạng bằng địa chỉ IP và MAC của chúng. bạn có thể tra cứu các địa chỉ MAC trên một trang web như https://aruljohn.com/mac.pl để tìm ra ai là nhà cung cấp của NIC. Điều này sẽ giúp bạn thu hẹp hầu hết các thiết bị. tức là máy tính, máy in, TV, điện thoại di động, v.v.



0

Đây là giải pháp nhanh chóng của tôi. Nó cho bạn biết loại thiết bị nào được kết nối tại mỗi địa chỉ IP:

netstat -r 

0

hiển thị tất cả các địa chỉ IP máy tính (những địa chỉ đang được sử dụng)

Tôi nghĩ rằng bạn có thể có nghĩa là netstat -ađiều này cung cấp cho bạn một danh sách hoạt động. Nếu bạn muốn biết chương trình sử dụng địa chỉ IP thì hãy sử dụng netstat -b(mở với tư cách quản trị viên).


Về mặt kỹ thuật, netstat -abỏ một danh sách các kết nối mạng hiện tại. Cột địa chỉ IP bên trái chứa giao diện cục bộ.
Ben N
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.