MCPcopy Index your code
hub / github.com/secdev/scapy / write_packet

Method write_packet

scapy/utils.py:2864–2886  ·  view source on GitHub ↗
(self, pkt)

Source from the content-addressed store, hash-verified

2862 self.write_packet(p)
2863
2864 def write_packet(self, pkt): # type: ignore
2865 # type: (Packet) -> None
2866
2867 if hasattr(pkt, "time"):
2868 sec = int(pkt.time)
2869 usec = int((int(round((pkt.time - sec) * 10**9)) << 32) / 10**9)
2870 t = (sec << 32) + usec
2871 else:
2872 t = int(time.time()) << 32
2873
2874 # There are 16 bytes of headers + 2 bytes of padding before the packets
2875 # payload.
2876 rlen = len(pkt) + 18
2877
2878 if hasattr(pkt, "wirelen"):
2879 wirelen = pkt.wirelen
2880 if wirelen is None:
2881 wirelen = rlen
2882
2883 self.f.write(struct.pack("<Q", t))
2884 self.f.write(struct.pack(">BBHHHH", 2, 0, rlen, 0, wirelen, 0))
2885 self.f.write(bytes(pkt))
2886 self.f.flush()
2887
2888 def close(self):
2889 # type: () -> Optional[Any]

Callers 1

writeMethod · 0.95

Calls 2

writeMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected