NAME
ppp_ipcp_opn_dissect - point-to-point ip-control-protocol options dissection function
SYNOPSIS
opn=ppp_ipcp_opn_dissect(pkt,offset,opn_end)
PPP_IPCP_OP_ADDRESSES = 1
PPP_IPCP_OP_COMPRESSION = 2
PPP_IPCP_OP_ADDRESS = 3
PPP_IPCP_OP_MOBILE_IPV4 = 4
PPP_IPCP_OP_DNS1 = 129
PPP_IPCP_OP_NBNS1 = 130
PPP_IPCP_OP_DNS2 = 131
PPP_IPCP_OP_NBNS2 = 132
DESCRIPTION
HOMEdissect IP control protocol' s options. dissectable are:
IP-Addresses (deprecated)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Source-IP-Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Source-IP-Address (cont) | Destination-IP-Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Destination-IP-Address (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP-Compression-Protocol
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | IP-Compression-Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+
IP-Address
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | IP-Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IP-Address (cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Mobile-IPv4
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Mobile Node's ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... Home Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Primary or Secondary DNS or NBS
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | DNS-Address or NBNS-Address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(cont) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
references RFC 1332
funtion accepts three arguments:
pkt is a packet reference containing the whole already dissected packet
offset is the position inside packet to start dissection
opn_end equals offset plus option length
funtion returns one list:
opn is a list
each item of the list is a dissected option
this is the option's prototype: [option_code,option_length,(option_field1,option_field2,.......,option_fieldN)]
note: negative option_code means option exceeds global options length
if opions are present and opn equals None, probably packet is truncated