Saya seorang web dev yang mencoba menangani keamanan dengan lebih baik. Saya mencoba mencari cara (pada distro berbasis Linux / Debian) untuk membuat daftar semua komputer di LAN yang sama dengan netbook saya. Saya mencoba "arp -n" tapi saya tidak merasa ini daftar lengkap, karena iPhone saya berada di router wi-fi yang sama dengan netbook saya, dan itu tidak muncul. Apakah ada cara yang lebih baik untuk mendapatkan daftar lengkap mesin yang semuanya berbagi gateway yang sama?
networking
wireless-networking
security
CaptSaltyJack
sumber
sumber
Jawaban:
Dapatkan nmap . Ini adalah program yang digunakan Trinity dalam Matriks dan Anda dapat melakukan pemindaian untuk menemukan semua perangkat yang terhubung ke LAN yang Anda gunakan dan lainnya.
Inilah panduan referensi.
sumber
sudo apt-get install nmap
Ini yang saya gunakan, nmap, dan alamat yang menggunakan notasi blok CIDR dari jaringan yang ingin Anda pindai. Pertama, Anda perlu menginstal nmap karena mungkin tidak diinstal sebelumnya dengan distro Anda. Di Ubuntu:
Selanjutnya cari tahu alamat jaringan Anda dengan menggunakan ifconfig:
keluaran ifconfig untuk antarmuka yang ingin saya pindai:
Gunakan addr inet dan Mask untuk mengetahui alamat jaringan dalam notasi CIDR, lebih lanjut tentang CIDR di sini . Alamatnya adalah:
Jalankan nmap menggunakan parameter -sP, yang akan memindai tidak lebih jauh dari memeriksa apakah host online:
output nmap akan terlihat seperti ini:
Itu saja, jika Anda membutuhkan bantuan lebih lanjut dengan nmap, lihat dokumentasi resmi nmap , atau jalankan:
sumber
nmap -sA 192.168.1.0/24
Opsi nmap-sA
menunjukkan hasil deskriptif yang sama dengan keterbacaan yang lebih baik, yang mencakup nama perangkat, IP, mac, dll seperti dengan opsi-sP
.. Saya pribadi lebih suka -sA -sP untuk dibaca.arp -n
hanya menampilkan mesin pada LAN Anda yang sudah Anda bicarakan dengan mesin Anda. Anda bisa membuat daftar itu terisi lebih baik dengan mem-ping alamat broadcast dan multicast semua-host:Alamat broadcast "all ones" (dalam biner). Perhatikan bahwa sebagian besar tumpukan IP akan menerjemahkan ini ke alamat broadcast subnet untuk semua subnet yang Anda lampirkan:
Alamat broadcast subnet untuk subnet Anda saat ini. Jadi dengan asumsi Anda menggunakan 192.168.1.0/24:
Alamat multicast "semua host". Saya sangat menyukai yang ini karena lebih cenderung menemukan host yang dikonfigurasi untuk subnet IP lainnya, yang kebetulan terhubung ke LAN Ethernet yang sama dengan Anda:
Perhatikan bahwa metode ini, dan metode lain yang saya lihat disebutkan dalam Jawaban lain sejauh ini, hanya mencari host yang dapat dijangkau IP di jaringan saat ini. Mungkin itu yang perlu Anda pedulikan, tetapi mungkin bagi penyerang untuk mengintip, atau melakukan hal-hal buruk pada, jaringan tanpa terlihat melalui IP.
sumber
ip neigh
danhosts
. TIDAK perlu nmap / TIDAK perlu sudo .Berdasarkan ini, Anda bisa membuat skrip Python:
Unduh via
(atau hanya
arp
... Saya tidak melihat itu sebelumnya)sumber
ip neigh | awk '{ print $1 }' | xargs -n1 host
ip n
Singkatnya. Mungkin lebih baikip n | grep REACHABLE
.Saya tidak menemukan jawaban yang ada cukup memuaskan, jadi saya pikir saya akan mencoba. Lagi pula, FAQ menyarankan untuk menyediakan konteks untuk tautan .
nmap
itu bagus, jika agak membingungkan untuk digunakan. Berikut adalah sesuatu yang saya jalankan untuk menemukan perangkat jaringan lokal yang sebagian besar dapat di-copy-paste.nmap -sP
(ataunmap -sn
) memindai dengan melakukan ping . Ada opsi lain untuk 'pencarian host', seperti dengannmap -sL
ataunmap -Pn
.Cara # 1.
Cara # 2. Saya tahu ini bekerja, tetapi saya tidak bisa mengatakan apakah ini cara yang tepat untuk pergi.
Saya akan senang mengetahui jika ada cara yang lebih efektif. Sampai saat itu, saya berpegang teguh pada ini.
sumber
Anda bisa mencoba ping semua subnet yang diberikan dengan skrip shell linux kecil misalnya
sumber
ip n
mengatakan GAGAL untuk semua.Hunt adalah alat baris perintah yang mampu membuat daftar mesin saat mereka disiarkan melalui jaringan untuk mendapatkan informasi. Ini menggunakan data TCP, UDP, ICMP dan ARP untuk membangun daftar alamat MAC aktif di jaringan. Ini adalah alat pasif yang bekerja dengan mendengarkan pada kabel.
sumber
Untuk daftar perangkat terhubung yang lebih ringkas:
Penjelasan.
nmap -sL 192.168.0.*
akan mendaftar semua IP di subnetwork dan menandainya, yang memiliki nama:Karena semua catatan menarik dimulai dengan kurung
(
dan digit1
, kami memfilternya dengan| grep \(1
(backslash diperlukan untuk keluar dari kurung)Quirk
Berhati-hatilah bahwa jika dua perangkat memiliki nama yang sama,
nmap
akan menampilkan hanya satu, yang terhubung ke router lalusumber
Untuk memindai status berbagai alamat IP, ini bagus dan sederhana:
Dimana:
catatan:
-sn
dikenal sebagai-sP
Saya melakukan ini pada Mac OS X (yang didasarkan pada BSD). Saya tidak yakin apakah versi Linux memiliki perbedaan.
sumber
1. Solusi alternatif jika siaran dan
nmap
tidak tersedia:2a. atau tanyakan saja server nama domain Anda :
2b. tanpa awk
ping semua pingable Jaringan-Devices di 192.168.2.0/24 subnet secara paralel (untuk mengurangi run time). Setelah itu
arp
harus menampilkan setiap perangkat, yang menjawab.tidak memeriksa koneksi aktif atau saat ini, tetapi mencantumkan semua koneksi yang disediakan layanan domain lokal, bahkan yang lama.
Penjelasan lebih rinci:
seq 254
untuk membuat semua angka dari 1 sampai 254 (untuk semua nomor 100-150:seq 100 150
)xargs
memanggilping
dan mengganti "IP" (-iIP
) denganseq
nomor uence dari stdin, jadi 192.168.2.IP berubah menjadi 192.168.2.1 untukseq
nomor pertama ,-P
menentukan jumlahping
proses bersamaan yangxargs
harus dimulai, saya memilih jumlah yang sama +1 sebagai alamat ( = 254) saya tertarik.ping
dengan ip-address yang dimodifikasi oleh xargs (192.168.2.IP
) dan hanya melakukan ping sekali (-c1
); Anda harus menggunakan pengidentifikasi yang sama seperti yang ditentukan untuk xargs atas-i
argumen dalam kasus iniIP
grep time=
untuk menghapus setiap baris yang berisi informasi berlebihan, kami hanya tertarik pada jawaban, yang memberikan waktu bolak-balik (= mendapat tanggapan)arp -a
untuk menampilkan pasangan nama (ip) yang validSaya menyebutnya perintah pingall saya dan membuatnya tersedia melalui alias di
~/.bashrc
:sumber
Anda bisa menggunakan fping
sudo apt-get install fping
(dalam OS mirip debian).fping mirip dengan ping, tetapi kinerjanya jauh lebih baik saat melakukan ping beberapa host. The r 1 bendera memberitahu fping untuk melakukan hanya satu putaran. Bagian 2> 1 memungkinkan grep untuk memfilter output.
Akan menampilkan sesuatu seperti:
Ada juga flag yang menarik untuk nmap yang memungkinkan Anda melihat vendor MAC - jika diketahui. Gunakan dengan sudo untuk melihat alamat MAC.
Anda akan mendapatkan misalnya:
sumber