Agda Kullanilmayan IP Adreslerini Bulma

Bulunduğumuz ağda DHCP kullanılmıyorsa ya da DHCP üzerinden bize ip verilmiyorsa ağa dahil olabilmek için boş bir ip adresi bulup kendimize atamamız gerekir. Bu durum daha çok kablosuz ağlarda yaşanır. bir ağa L2 seviyesinde dahil olduğumuzda(kablolu ya da kablosuz) ağdaki ip aralığını ve sonrasında boş ip adreslerini bulmak için aşağıdaki gibi bir yöntem izlenebilir.

Öncelikle ağdaki ip bloğunun bulunması gerekir. Bunun için tcpdump gibi bir ağ dinleyicisi(sniffer) kullanabiliriz. Ağlardaki ARP ve bazi UDP paketleri brodcast olacaktır. Biz de L2 seviyesinde ağa dahil olduğumuzdan bu broadcast paketleri görebiliriz. Ağda görünen broadcast paketlerden de hangi ip aralıklarının kullanıldığı bilgisine ulaşabiliriz.

[email protected]:~# tcpdump -i eth1 -tttnn udp or arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
000000 arp who-has 192.168.2.22 tell 192.168.2.1
000133 arp reply 192.168.2.22 is-at 00:1f:d0:5a:1b:96
32. 487744 arp who-has 192.168.2.222 tell 192.168.2.23
1. 000918 arp who-has 192.168.2.222 tell 192.168.2.23
1. 000618 arp who-has 192.168.2.222 tell 192.168.2.23
3. 277225 arp who-has 192.168.162.10 tell 192.168.162.129
198024 arp who-has 192.168.162.10 tell 192.168.162.129
802725 IP 192.168.2.20.138 > 192.168.2.255.138: NBT UDP PACKET(138)
197820 arp who-has 192.168.162.10 tell 192.168.162.129
802624 IP 192.168.2.20.138 > 192.168.2.255.138: NBT UDP PACKET(138)

Yukarıdaki tcpdump çıktısı incelenecek olursa ağda kullanılan IP adres aralıkları tespit edilebilir. Örnek: 192.168.2 bloğu, 192.168.162. bloğu gibi.

 

Hani ip aralığının kullanıldığını bulduktan sonra sıra boş ip adreslerini bulmaya geldi.  Bunun için arping aracını kullanıyoruz.

Basitçe for a in {1..26};do arping -c1 192.168.2.$a|grep   “Unicast”;done komutu ya da http://www.digininja.org/files/find_ip_1.0.tar.bz2 adresindeki mini scripti bize ağdaki hangi ip adreslerinin kullanımda hangilerinin boşta olacağını söyleyecektir.

[email protected]:~# for a in {1..26};do arping -c1 192.168.2.$a|grep   “Unicast”;done
Unicast reply from 192.168.2.1 [00:1A:2A:A7:22:5C]  1.168ms
Unicast reply from 192.168.2.21 [00:1D:E0:17:C2:CB]  5.776ms
Unicast reply from 192.168.2.22 [00:1F:D0:5A:1B:96]  0.792ms

 

Yukardaki çıktıya göre 192.168.2.1, 192.168.2.21 ve 192.168.2.22 ip adresleri bu ağda kullanımda gözüküyor.

Tek satırlık script yerine biraz daha düzenli çıktı veren find_ip scriptini kullanmak istersek aşağıdaki gibi çıktı verecektir.

Not:Scriptte ufak düzenlemeler yapilmasi gerekiyor.(arping komutunun geçtigi satirdaki -O parametresinin kaldirilmasi gibi)

find_ip scriptinin sonucu

[email protected]:~/find_ip# bash find_ip.sh -c 2 -s 10.10.10
10.10.10.1 Used
10.10.10.2 Used
10.10.10.3 Used
10.10.10.4 Free
10.10.10.5 Free
10.10.10.6 Free
10.10.10.7 Free
10.10.10.8 Used
10.10.10.9 Free
10.10.10.10 Free
10.10.10.11 Free
10.10.10.12 Free
10.10.10.13 Free
10.10.10.14 Free
10.10.10.15 Used
10.10.10.16 Free
10.10.10.17 Used
10.10.10.18 Used
10.10.10.19 Used
10.10.10.20 Free
…..

This entry was posted in Netsec, Network Tools, Penetration. Bookmark the permalink.

2 Responses to Agda Kullanilmayan IP Adreslerini Bulma

  1. Suat ÇELİK says:

    CTF öncesi güzel bir ipucu olmuş hocam 🙂

  2. serkan says:

    bencede güzel bir ipucu

Leave a Reply

Your email address will not be published. Required fields are marked *

1 × one =