MCPcopy Create free account
hub / github.com/secdev/scapy / TimeStampField

Class TimeStampField

scapy/layers/ntp.py:88–117  ·  view source on GitHub ↗

This field handles the timestamp fields in the NTP header.

Source from the content-addressed store, hash-verified

86
87
88class TimeStampField(FixedPointField):
89 """
90 This field handles the timestamp fields in the NTP header.
91 """
92
93 def __init__(self, name, default):
94 FixedPointField.__init__(self, name, default, 64, 32)
95
96 def i2repr(self, pkt, val):
97 if val is None:
98 return "--"
99 val = self.i2h(pkt, val)
100 if val < _NTP_BASETIME:
101 return str(val)
102 return time.strftime(
103 "%a, %d %b %Y %H:%M:%S +0000",
104 time.gmtime(int(val - _NTP_BASETIME))
105 )
106
107 def any2i(self, pkt, val):
108 if isinstance(val, str):
109 val = int(time.mktime(time.strptime(val))) + _NTP_BASETIME
110 elif isinstance(val, datetime.datetime):
111 val = int(val.strftime("%s")) + _NTP_BASETIME
112 return FixedPointField.any2i(self, pkt, val)
113
114 def i2m(self, pkt, val):
115 if val is None:
116 val = FixedPointField.any2i(self, pkt, time.time() + _NTP_BASETIME)
117 return FixedPointField.i2m(self, pkt, val)
118
119
120#############################################################################

Callers 9

ZEP2Class · 0.90
NTPHeaderClass · 0.85
NTPInfoPeerSummaryClass · 0.85
NTPInfoPeerClass · 0.85
NTPInfoLoopClass · 0.85
NTPInfoSysClass · 0.85
NTPPrivatePktTailClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…