Hi,
I am trying to send an ARP response, but on the receiver I can see the
ASCII for the src/dst addresses instead of binary.
The following is my code:
from nox.lib.packet.ethernet import ethernet
mysrc = "11:11:11:11:11:11"
mydst = "01:02:03:04:05:06"
etherPkt = ethernet()
etherPkt.set_payload(arpResponse)
etherPkt.type = ethernet.ARP_TYPE
etherPkt.src = octstr_to_array(mysrc) #mysrc
etherPkt.dst = octstr_to_array(mydst) #mysrc
# log.debug("ether pkt %s" % str(etherPkt))
self.send_openflow_packet(dp, str(etherPkt), inport)
on the receiver, the tcpdump shows me the received packet as:
21:34:35.677597 3a:31:31:3a:31:31 (oui Unknown) > 5b:31:31:3a:31:31 (oui
Unknown), ethertype Unknown (0x3a31), length 41:
0x0000: 5b31 313a 3131 3a31 313a 3131 3a31 313a [11:11:11:11:11:
0x0010: 3131 3e30 313a 3032 3a30 333a 3034 3a30 11>01:02:03:04:0
0x0020: 353a 3036 3a41 5250 5d 5:06:ARP]
where I get ASCII instead of byte values for all the header fields (and
also for the character ":"). I am guessing the problem might be while
converting to string and I might be doing something silly. Can someone
please help me in sending the correct bytes instead of the ASCII?
Thanks!!
Rohan