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

Class ICMP

scapy/layers/inet.py:1134–1251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1132
1133
1134class ICMP(Packet):
1135 name = "ICMP"
1136 fields_desc = [
1137 ByteEnumField("type", 8, icmptypes),
1138 MultiEnumField("code", 0, icmpcodes,
1139 depends_on=lambda pkt:pkt.type, fmt="B"),
1140 XShortField("chksum", None),
1141 ConditionalField(
1142 XShortField("id", 0),
1143 lambda pkt: pkt.type in icmp_id_seq_types
1144 ),
1145 ConditionalField(
1146 XShortField("seq", 0),
1147 lambda pkt: pkt.type in icmp_id_seq_types
1148 ),
1149 ConditionalField(
1150 # Timestamp only (RFC792)
1151 ICMPTimeStampField("ts_ori", None),
1152 lambda pkt: pkt.type in [13, 14]
1153 ),
1154 ConditionalField(
1155 # Timestamp only (RFC792)
1156 ICMPTimeStampField("ts_rx", None),
1157 lambda pkt: pkt.type in [13, 14]
1158 ),
1159 ConditionalField(
1160 # Timestamp only (RFC792)
1161 ICMPTimeStampField("ts_tx", None),
1162 lambda pkt: pkt.type in [13, 14]
1163 ),
1164 ConditionalField(
1165 # Redirect only (RFC792)
1166 IPField("gw", "0.0.0.0"),
1167 lambda pkt: pkt.type == 5
1168 ),
1169 ConditionalField(
1170 # Parameter problem only (RFC792)
1171 ByteField("ptr", 0),
1172 lambda pkt: pkt.type == 12
1173 ),
1174 ConditionalField(
1175 ByteField("reserved", 0),
1176 lambda pkt: pkt.type in [3, 11]
1177 ),
1178 ConditionalField(
1179 ByteField("length", 0),
1180 lambda pkt: pkt.type in [3, 11, 12]
1181 ),
1182 ConditionalField(
1183 IPField("addr_mask", "0.0.0.0"),
1184 lambda pkt: pkt.type in [17, 18]
1185 ),
1186 ConditionalField(
1187 ShortField("nexthopmtu", 0),
1188 lambda pkt: pkt.type == 3
1189 ),
1190 MultipleTypeField(
1191 [

Callers 1

latency_router.pyFile · 0.85

Calls 13

ByteEnumFieldClass · 0.90
MultiEnumFieldClass · 0.90
XShortFieldClass · 0.90
ConditionalFieldClass · 0.90
IPFieldClass · 0.90
ByteFieldClass · 0.90
ShortFieldClass · 0.90
MultipleTypeFieldClass · 0.90
IntFieldClass · 0.90
StrFixedLenFieldClass · 0.90
ICMPTimeStampFieldClass · 0.85

Tested by

no test coverage detected