[−][src]Crate openvpn_parser
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 | |
OpenVPNHdr | OpenVPN packet header |
OpenVPNPacket | 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 |