|
PcapPlusPlus
20.08
|
Go to the documentation of this file. 1 #ifndef PACKETPP_ICMP_LAYER
2 #define PACKETPP_ICMP_LAYER
129 #pragma pack(push, 1)
168 #pragma pack(push, 1)
196 #pragma pack(push, 1)
211 #pragma pack(push, 1)
231 #pragma pack(push, 1)
254 #pragma pack(push, 1)
267 #pragma pack(push, 1)
296 #pragma pack(push, 1)
333 #pragma pack(push, 1)
357 #pragma pack(push, 1)
385 bool cleanIcmpLayer();
387 bool setEchoData(
IcmpMessageType echoType, uint16_t
id, uint16_t sequence, uint64_t timestamp,
const uint8_t* data,
size_t dataLen);
491 timeval originateTimestamp, timeval receiveTimestamp, timeval transmitTimestamp);
uint8_t pointer
Definition: IcmpLayer.h:235
IcmpLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: IcmpLayer.h:399
icmp_param_problem * setParamProblemData(uint8_t code, uint8_t errorOctetPointer, IPv4Layer *ipHeader, Layer *l4Header)
uint16_t sequence
Definition: IcmpLayer.h:174
OsiModelLayer
Definition: ProtocolType.h:233
Definition: IpAddress.h:26
Definition: IcmpLayer.h:28
@ ICMP_ECHO_REQUEST
Definition: IcmpLayer.h:53
Definition: IcmpLayer.h:334
icmp_router_advertisement * setRouterAdvertisementData(uint8_t code, uint16_t lifetimeInSeconds, const std::vector< icmp_router_address_structure > &routerAddresses)
icmphdr icmp_router_solicitation
Definition: IcmpLayer.h:248
std::string toString() const
@ ICMP_TIMESTAMP_REQUEST
Definition: IcmpLayer.h:63
Definition: IcmpLayer.h:268
@ ICMP_INFO_REPLY
Definition: IcmpLayer.h:69
IcmpDestUnreachableCodes
Definition: IcmpLayer.h:82
@ ICMP_ROUTER_SOL
Definition: IcmpLayer.h:57
@ ICMP_TIME_EXCEEDED
Definition: IcmpLayer.h:59
uint16_t checksum
Definition: IcmpLayer.h:35
Definition: IcmpLayer.h:169
Definition: IcmpLayer.h:297
icmp_time_exceeded icmp_source_quench
Definition: IcmpLayer.h:224
icmp_router_advertisement_hdr * header
Definition: IcmpLayer.h:317
Definition: IcmpLayer.h:379
icmp_timestamp_request icmp_timestamp_reply
Definition: IcmpLayer.h:189
Definition: IcmpLayer.h:197
uint8_t advertisementCount
Definition: IcmpLayer.h:300
uint16_t id
Definition: IcmpLayer.h:337
icmp_echo_hdr * header
Definition: IcmpLayer.h:149
icmp_router_solicitation * setRouterSolicitationData()
Definition: IPv4Layer.h:405
icmp_router_address_structure * getRouterAddress(int index) const
icmp_redirect * setRedirectData(uint8_t code, IPv4Address gatewayAddress, IPv4Layer *ipHeader, Layer *l4Header)
@ ICMP_SOURCE_QUENCH
Definition: IcmpLayer.h:49
icmp_timestamp_reply * getTimestampReplyData()
Definition: IcmpLayer.h:255
uint64_t timestamp
Definition: IcmpLayer.h:137
icmp_echo_request icmp_echo_reply
Definition: IcmpLayer.h:161
uint32_t preferenceLevel
Definition: IcmpLayer.h:275
@ OsiModelNetworkLayer
Definition: ProtocolType.h:240
Definition: IcmpLayer.h:232
icmp_address_mask_request * setAddressMaskRequestData(uint16_t id, uint16_t sequence, IPv4Address mask)
Definition: IcmpLayer.h:212
uint32_t receiveTimestamp
Definition: IcmpLayer.h:178
uint16_t sequence
Definition: IcmpLayer.h:135
@ ICMP_ADDRESS_MASK_REPLY
Definition: IcmpLayer.h:73
icmp_echo_reply * getEchoReplyData()
uint32_t routerAddress
Definition: IcmpLayer.h:271
uint16_t lifetime
Definition: IcmpLayer.h:305
icmp_address_mask_request * getAddressMaskRequestData()
IPv4Address getAddress() const
Definition: IcmpLayer.h:287
Definition: IcmpLayer.h:146
Definition: IcmpLayer.h:130
uint16_t unused
Definition: IcmpLayer.h:200
@ IcmpNetworkUnreachable
Definition: IcmpLayer.h:85
void setRouterAddress(IPv4Address addr, uint32_t preference)
icmp_echo_request * getEchoRequestData()
icmp_info_reply * setInfoReplyData(uint16_t id, uint16_t sequence)
@ ICMP_UNSUPPORTED
Definition: IcmpLayer.h:75
icmp_destination_unreachable * setDestUnreachableData(IcmpDestUnreachableCodes code, uint16_t nextHopMTU, IPv4Layer *ipHeader, Layer *l4Header)
icmphdr * getIcmpHeader() const
Definition: IcmpLayer.h:413
uint16_t nextHopMTU
Definition: IcmpLayer.h:202
size_t getHeaderLen() const
uint8_t code
Definition: IcmpLayer.h:33
icmp_router_solicitation * getRouterSolicitationData()
uint8_t unused1
Definition: IcmpLayer.h:237
@ IcmpHostUnreachableForTypeOfService
Definition: IcmpLayer.h:109
@ IcmpPortUnreachable
Definition: IcmpLayer.h:91
@ ICMP_DEST_UNREACHABLE
Definition: IcmpLayer.h:47
uint16_t id
Definition: IcmpLayer.h:361
@ IcmpCommunicationProhibited
Definition: IcmpLayer.h:113
OsiModelLayer getOsiModelLayer() const
Definition: IcmpLayer.h:698
const ProtocolType ICMP
Definition: ProtocolType.h:83
icmp_source_quench * getSourceQuenchdata()
icmp_address_mask_reply * getAddressMaskReplyData()
@ IcmpDatagramTooBig
Definition: IcmpLayer.h:93
icmp_echo_request * setEchoRequestData(uint16_t id, uint16_t sequence, uint64_t timestamp, const uint8_t *data, size_t dataLen)
icmp_address_mask_reply * setAddressMaskReplyData(uint16_t id, uint16_t sequence, IPv4Address mask)
uint32_t unused
Definition: IcmpLayer.h:215
@ IcmpSourceRouteFailed
Definition: IcmpLayer.h:95
icmp_destination_unreachable * getDestUnreachableData()
Definition: IcmpLayer.h:314
icmp_timestamp_reply * setTimestampReplyData(uint16_t id, uint16_t sequence, timeval originateTimestamp, timeval receiveTimestamp, timeval transmitTimestamp)
icmp_redirect * getRedirectData()
Definition: IcmpLayer.h:358
@ ICMP_TIMESTAMP_REPLY
Definition: IcmpLayer.h:65
icmp_time_exceeded * setTimeExceededData(uint8_t code, IPv4Layer *ipHeader, Layer *l4Header)
@ ICMP_INFO_REQUEST
Definition: IcmpLayer.h:67
@ IcmpHostUnreachable
Definition: IcmpLayer.h:87
size_t dataLength
Definition: IcmpLayer.h:151
uint32_t originateTimestamp
Definition: IcmpLayer.h:176
The main namespace for the PcapPlusPlus lib.
@ IcmpDestinationNetworkUnknown
Definition: IcmpLayer.h:97
@ IcmpSourceHostIsolated
Definition: IcmpLayer.h:101
icmp_info_reply * getInfoReplyData()
icmp_router_advertisement * getRouterAdvertisementData() const
icmp_info_request * setInfoRequestData(uint16_t id, uint16_t sequence)
icmp_param_problem * getParamProblemData()
@ ICMP_ECHO_REPLY
Definition: IcmpLayer.h:45
uint16_t sequence
Definition: IcmpLayer.h:363
@ ICMP_ADDRESS_MASK_REQUEST
Definition: IcmpLayer.h:71
uint8_t addressEntrySize
Definition: IcmpLayer.h:303
IcmpMessageType getMessageType() const
@ IcmpDestinationHostUnknown
Definition: IcmpLayer.h:99
@ IcmpHostPrecedenceViolation
Definition: IcmpLayer.h:117
uint8_t type
Definition: IcmpLayer.h:31
uint16_t unused2
Definition: IcmpLayer.h:239
icmp_address_mask_request icmp_address_mask_reply
Definition: IcmpLayer.h:350
uint32_t gatewayAddress
Definition: IcmpLayer.h:258
@ IcmpPrecedenceCutoff
Definition: IcmpLayer.h:121
uint16_t sequence
Definition: IcmpLayer.h:339
@ IcmpDestinationNetworkProhibited
Definition: IcmpLayer.h:103
icmp_time_exceeded * getTimeExceededData()
icmp_timestamp_request * setTimestampRequestData(uint16_t id, uint16_t sequence, timeval originateTimestamp)
icmp_echo_reply * setEchoReplyData(uint16_t id, uint16_t sequence, uint64_t timestamp, const uint8_t *data, size_t dataLen)
IcmpMessageType
Definition: IcmpLayer.h:42
uint32_t addressMask
Definition: IcmpLayer.h:341
@ IcmpNetworkUnreachableForTypeOfService
Definition: IcmpLayer.h:107
@ ICMP_REDIRECT
Definition: IcmpLayer.h:51
@ ICMP_PARAM_PROBLEM
Definition: IcmpLayer.h:61
uint16_t id
Definition: IcmpLayer.h:172
uint16_t id
Definition: IcmpLayer.h:133
@ ICMP_ROUTER_ADV
Definition: IcmpLayer.h:55
icmp_source_quench * setSourceQuenchdata(IPv4Layer *ipHeader, Layer *l4Header)
icmp_info_request icmp_info_reply
Definition: IcmpLayer.h:372
icmp_timestamp_request * getTimestampRequestData()
uint32_t transmitTimestamp
Definition: IcmpLayer.h:180
@ IcmpDestinationHostProhibited
Definition: IcmpLayer.h:105
uint8_t * data
Definition: IcmpLayer.h:153
void computeCalculateFields()
bool isMessageOfType(IcmpMessageType type) const
Definition: IcmpLayer.h:424
@ IcmpProtocolUnreachable
Definition: IcmpLayer.h:89
icmp_info_request * getInfoRequestData()