pylibnet: python module for libnet

#!/usr/bin/python

import libnet

tgt_eth='\x00'*6
broadcast_eth='\xff'*6
src_ip=libnet.int2str(libnet.name_resolve('192.168.1.2',0))
tgt_ip=libnet.int2str(libnet.name_resolve('192.168.1.1',0))


if __name__=="__main__":

  ifc = libnet.interface()
  ifc.open_link(libnet.select_device(None))
  src_eth = ifc.get_hwaddr()
  print '\nsource ethernet address:'
  libnet.hex_dump (src_eth)

  pkt = libnet.packet()
  pkt.build_arp(libnet.ARPHRD_ETHER,
                libnet.ETHERTYPE_IP,
                libnet.ETHER_ADDR_LEN,
                4,
                libnet.ARPOP_REQUEST,
                src_eth,
                src_ip,
                tgt_eth,
                tgt_ip)

  pkt.build_ethernet(broadcast_eth,
                     src_eth,
                     libnet.ETHERTYPE_ARP)

  print '\nARP request with ethernet header:'
  print pkt

  ifc.write(pkt)


SourceForge Logoget libnet

davidma@eskimo.com