İş yerindesiniz ve elinizde ipler var. Siz gidip gidip bilgisayar ismine bakıyorsunuz. Oluyor mu? Tabi ki de olmuyor. Öncelikle yapmanız gereken şey basit. Kendi ip adresinizi öğreneceksiniz ve bu sayede de hangi bacaktan ipleri listeleyeceğini karar veriyorsun. Mesela ben 10.1.2.x kullanıyorum. Buna ek olarak istesem 10.1.3.x de kullanabilirim. Yani ağında hangi bacaklar kullanılıyor. Tek bacak kullanıyorsan işin basit. tek döngü ile işin biter ama 2 - 3 bacak kullanıyorsan hatta aynı anda farklı bloklar kullanıyorsan işin uzar gider. Size tek bacaklı bir ip blokundan anlatacağım.
Neyse önce ip adresimizi öğrenelim.
System.Net.Dns.GetHostByName(Net.Dns.GetHostName).AddressList(0).ToString()
Bize ip adresimizi döndürüyor. Bu sayede sistemde hangi bacağı kullandığımızı öğreniyoruz. Şimdi split ile bloklar ayıralım.
Dim bloklar() As String = System.Net.Dns.GetHostByName(Net.Dns.GetHostName).AddressList(0).ToString().Split(".")
Bloklara ayırdık. şimdi ip blokları her biri byte den meydana geldiği için yani ip bloklarının her biri byte türündedir. Bu blokları for kodu ile byte.minvalue den byte.maxvalue ye kadar gezdirelim. Bu sayede kendi bloğumuzda bulunan bütün ipleri gezmiş olacaktır. sonrada bunları listboxumuza ekleyelim.