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

Class ICMPTimeStampField

scapy/layers/inet.py:498–521  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

496
497
498class ICMPTimeStampField(IntField):
499 re_hmsm = re.compile("([0-2]?[0-9])[Hh:](([0-5]?[0-9])([Mm:]([0-5]?[0-9])([sS:.]([0-9]{0,3}))?)?)?$") # noqa: E501
500
501 def i2repr(self, pkt, val):
502 if val is None:
503 return "--"
504 else:
505 sec, milli = divmod(val, 1000)
506 min, sec = divmod(sec, 60)
507 hour, min = divmod(min, 60)
508 return "%d:%d:%d.%d" % (hour, min, sec, int(milli))
509
510 def any2i(self, pkt, val):
511 if isinstance(val, str):
512 hmsms = self.re_hmsm.match(val)
513 if hmsms:
514 h, _, m, _, s, _, ms = hmsms.groups()
515 ms = int(((ms or "") + "000")[:3])
516 val = ((int(h) * 60 + int(m or 0)) * 60 + int(s or 0)) * 1000 + ms # noqa: E501
517 else:
518 val = 0
519 elif val is None:
520 val = int((time.time() % (24 * 60 * 60)) * 1000)
521 return val
522
523
524class DestIPField(IPField, DestField):

Callers 2

ICMPClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected