[][src]Crate openvpn_parser

openvpn-parser

License: MIT Apache License 2.0 Build Status Crates.io Version

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:

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