2015-09-10 21 views
3

我想通過Scapy發送某個IP地址的發現請求(可以說10.0.0.30,(如果存在這樣的可能性也會導致DHCP服務器將它視爲固定後他給我的IP它甚至更好) 我該怎麼做呢? 我怎樣才能得到一個特定的IP? (當然,以上所有適用於目前沒有被服務器中的任何客戶端佔用的ip(免費ip現在,但沒有IP是從來沒有使用過))從DHCP發送一個特定IP的請求

+0

它不是,他只是送發現重複,我想發送的發現加sprcifick IP,所以DHCP服務器帶給我可以說10.0.0.2和10.0.0.3不是例如 –

回答

1

您可以通過使用Requested IP Address選項請求特定的IP地址。請仔細閱讀RFC

爲了創建這樣的請求,您可以在scapy中使用requested_addr選項。

下面是示例代碼:

dhcp_request = (Ether(dst="ff:ff:ff:ff:ff:ff")/IP(src="0.0.0.0",dst="255.255.255.255")/UDP(sport=68,dport=67)/BOOTP(chaddr=hw)/DHCP(options=[("message-type","request"),("requested_addr", "10.0.0.1"),"end"])) 

測試在卡利Linux操作系統。

+1

thenk你,我會檢查出來 –

1

請參閱dhcpig基於scapy的腳本,通過發送DHCPDiscover和DHCPRequest來確認IP來執行DHCP耗盡攻擊。

dhcp_discover = Ether(src=m,dst="ff:ff:ff:ff:ff:ff")/IP(src="0.0.0.0",dst="255.255.255.255")/UDP(sport=68,dport=67)/BOOTP(chaddr=[mac2str(m)],xid=myxid)/DHCP(options=[("message-type","discover"),("hostname",hostname),"end"]) 
... 
dhcp_req = Ether(src=localm,dst="ff:ff:ff:ff:ff:ff")/IP(src="0.0.0.0",dst="255.255.255.255")/UDP(sport=68,dport=67)/BOOTP(chaddr=[mac2str(localm)],xid=localxid)/DHCP(options=[("message-type","request"),("server_id",sip),("requested_addr",myip),("hostname",myhostname),("param_req_list","pad"),"end"])