#!/usr/bin/python
import libnetc
import string
src_ip=libnetc.name_resolve('192.168.1.2',0)
tgt_ip=libnetc.name_resolve('192.168.1.1',0)
def dumphex(s):
bytes = map(lambda x: '%.2x ' % x, map(ord, s))
if len(s)>16:
for i in range((len(s)+16)/16*16, 15, -16):
bytes.insert(i,'\n')
print string.join(bytes, '')
if __name__=="__main__":
ifc = libnetc.new_interface()
libnetc.interface_open_raw(ifc, libnetc.IPPROTO_RAW)
pkt = libnetc.build_tcp(1025,
80,
1,
0,
libnetc.TH_SYN,
0,
0)
dumphex(pkt)
pkt = libnetc.build_ip(len(pkt),
0,
1,
0,
255,
libnetc.IPPROTO_TCP,
src_ip,
tgt_ip) + pkt
dumphex(pkt)
libnetc.do_checksum(pkt, libnetc.IPPROTO_TCP, libnetc.TCP_H)
print 'tcp syn:'
dumphex(pkt)
libnetc.interface_write(ifc, pkt)
syntax highlighted by Code2HTML, v. 0.9.1