Amateur Radio Protocols

I can not really do better than the AX.25 article on Wikipedia.

History

Again I can not 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, remote command

  • 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

  • KISS - SLIP plus some TNC commands.

  • 6PACK - a TNC control protocol - not currently implemented

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 then 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 <some other protocol> seen in the wild do the same. For those wanting a full KISS implementation then this file kiss-framing.lua is an 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 then one port is used then add extra xxx_table:add() lines to the script


Imported from https://wiki.wireshark.org/AmateurRadioProtocolFamily on 2020-08-11 23:11:08 UTC