code:
if isinstance(pkt, str):
pkt = pkt.encode()
print(str(pkt))
print(type(pkt))
print(str(pkt[0]))
print(type(pkt[0]))
pkt.serialize()
output:
ethernet(dst='00:00:00:00:00:01',ethertype=2048,src='ff:ff:ff:ff:ff:ff'), ipv4(csum=0,dst='0.0.0.0',flags=0,header_length=5,identification=0,offset=0,option=None,proto=17,src='255.255.255.255',tos=0,total_length=0,ttl=255,version=4), udp(csum=6078,dst_port=67,src_port=68,total_length=308), dhcp(boot_file='',chaddr='00:00:00:00:00:01',ciaddr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=0,hops=0,htype=1,op=2,options=[option(length=0,tag=53,value=2), option(length=0,tag=1,value='255.255.255.0'), option(length=0,tag=3,value='192.168.1.1'), option(length=0,tag=6,value='8.8.8.8'), option(length=0,tag=51,value=86400), option(length=0,tag=54,value='192.168.1.100')],secs=0,siaddr='192.168.1.2',sname='',xid=1260963096,yiaddr='192.168.1.8')
<class 'ryu.lib.packet.packet.Packet'>
ethernet(dst='00:00:00:00:00:01',ethertype=2048,src='ff:ff:ff:ff:ff:ff')
<class 'ryu.lib.packet.ethernet.ethernet'>
'list' object has no attribute 'serialize'
code:
if isinstance(pkt, str):
pkt = pkt.encode()
print(str(pkt))
print(type(pkt))
print(str(pkt[0]))
print(type(pkt[0]))
pkt.serialize()
output:
ethernet(dst='00:00:00:00:00:01',ethertype=2048,src='ff:ff:ff:ff:ff:ff'), ipv4(csum=0,dst='0.0.0.0',flags=0,header_length=5,identification=0,offset=0,option=None,proto=17,src='255.255.255.255',tos=0,total_length=0,ttl=255,version=4), udp(csum=6078,dst_port=67,src_port=68,total_length=308), dhcp(boot_file='',chaddr='00:00:00:00:00:01',ciaddr='0.0.0.0',flags=0,giaddr='0.0.0.0',hlen=0,hops=0,htype=1,op=2,options=[option(length=0,tag=53,value=2), option(length=0,tag=1,value='255.255.255.0'), option(length=0,tag=3,value='192.168.1.1'), option(length=0,tag=6,value='8.8.8.8'), option(length=0,tag=51,value=86400), option(length=0,tag=54,value='192.168.1.100')],secs=0,siaddr='192.168.1.2',sname='',xid=1260963096,yiaddr='192.168.1.8')
<class 'ryu.lib.packet.packet.Packet'>
ethernet(dst='00:00:00:00:00:01',ethertype=2048,src='ff:ff:ff:ff:ff:ff')
<class 'ryu.lib.packet.ethernet.ethernet'>
'list' object has no attribute 'serialize'