Amateur Radio Protocols
I cannot really do better than the AX.25 article on Wikipedia.
History
Again, I cannot really do better than the AX.25 article on Wikipedia.
Protocols
OSI Layer 2-ish
- AX.25 - derived from the X.25 protocol suite for use on Amateur Radio
OSI Layer 3-ish
-
Flexnet
-
NETROM - provides route management, route dissemination, and remote commands
-
ROSE - X.25 by another name
Application data formats
-
APRS - Automatic Packet Reporting System
-
OpenTRAC - Open Tactical Reporting and Communication Protocol - not currently implemented
TNC control protocols
Encapsulations
- AXIP - AX.25 over IP
- AXUDP - AX.25 over UDP
External links
Discussion
-
AX.25 over UDP, TCP - this Lua script registers the AX.25 protocol against a UDP port.
-
-- ax25-udp.lua -- load the udp.port table udp_table = DissectorTable.get( "udp.port" ) -- get a handle to the AX.25 dissector proto_ax25 = Dissector.get( "ax25" ) -- register AX.25 to handle udp port udp_table:add( 10093, proto_ax25 )For TCP, substitute "tcp" for "udp" in the above script. Amend the port number (10093 in the above example) to the one relevant to your operations. If more than one port is used, then add extra xxx_table:add() lines to the script.
-
KISS - The KISS dissector in Wireshark handles only the various commands; it does not handle the SLIP based framing and escape codes. The reasons behind this are:
-
that the AX.25 stack in Linux "encapsulates" the AX.25 frame in a KISS data frame, but without the escape coding
-
some implementations of KISS over other protocols seen in the wild do the same. For those wanting a full KISS implementation, this file kiss-framing.lua is a Lua script that handles the SLIP framing and hands off the KISS commands to the ax25_kiss dissector. As above, for TCP substitute "tcp" for "udp" in the above script. Amend the port number to the one relevant to your operations. If more than one port is used, then add extra xxx_table:add() lines to the script
-
