fam,hw = get_if_raw_hwaddr("enp0s17")
macaddress= get_if_hwaddr("enp0s17")
conf.iface = "enp0s17"
ethernet = Ether(dst="ff:ff:ff:ff:ff:ff",src=macaddress,type=0x800)
ip = IP(src="0.0.0.0",dst="255.255.255.255")
udp = UDP(sport=68,dport=67)
bootp = BOOTP(chaddr =hw,xid=0x10000000)
dhcp = DHCP(options=[("message-type","discover"),("hostname","ubu1"), ("end")])
packet=ethernet/ip/udp/bootp/dhcp
sendp(packet,iface="enp0s17")
http://scapy.readthedocs.io/en/latest/installation.html#installing-scapy-v2-x
위 사이트에서 설치 한후, 소스를 우여곡절 끝에 POC(Proof of Concept)라고 되어 있는 코드 부분에서 추출하여 사용하였다.
그렇게 하지 않으면, mac address 에 도착할 수 없으므로 브로드캐스팅하라는 워닝이 나오면서 접근되지 않아 그렇다.
아무튼 hostname 까지 넣어서 dhcp discover 메시지를 보내면, DHCP 클라이언트 목록에 해당 IP가 출력되지 않는다. 또한 end 가 없으면 다운되는 현상이 있다.
좀 더 확인해볼 게 많은 공유기이다.
[discover log]
[packet 확인]
댓글 달기