Expand description
§openvpn-parser
§Overview
openvpn-parser is a parser for the (OpenVPN) protocol.
It can be used to decode the packet structures, access fields and verify some properties.
The content of the Control
packets uses the TLS protocol, so
tls-parser can be used to decode the messages.
The parser does not decrypt messages.
This crate mostly serves as a demo/example crate for network protocol parsers written using nom, and nom-derive.
§Notes
Writen in great pain, due to lack of specifications, and a number of fields defined in a very useless way, like “usually 16 or 20 bytes”.
Closest thing to specifications:
- https://openvpn.net/index.php/open-source/documentation/security-overview.html
- http://ipseclab.eit.lth.se/tiki-index.php?page=6.+OpenVPN
- OpenVPN source code
- OpenVPN wireshark parser
Re-exports§
pub use nom;
Structs§
- Opcode
- OpenVPN
Hdr - OpenVPN packet header
- OpenVPN
Packet - OpenVPN packet
- PAck
- Payload for P_ACK messages
- PControl
- Payload for P_CONTROL messages
- PData
- Payload for P_DATA messages
Enums§
- Payload
- Payload for OpenVPN data
Functions§
- parse_
openvpn_ header_ tcp - parse_
openvpn_ header_ udp - parse_
openvpn_ msg_ pack - parse_
openvpn_ msg_ payload - parse_
openvpn_ msg_ pcontrol - parse_
openvpn_ tcp - Parse an OpenVPN packet in TCP
- parse_
openvpn_ udp - Parse an OpenVPN packet in UDP