This wiki has been migrated to https://gitlab.com/wireshark/wireshark/-/wikis/home and is now deprecated. Please use that site instead.
Differences between revisions 3 and 4
Revision 3 as of 2005-07-25 19:33:58
Size: 3071
Editor: LuisOntanon
Comment: the redirect directive does take me to "Radius" even if I told it "RADIUS"
Revision 4 as of 2005-07-25 22:47:08
Size: 5191
Editor: LuisOntanon
Comment: RADIUS dictionary
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
(XXX add links to preference settings affecting how RADIUS is dissected). === Shared Secret ===
{{{ radius.shared_secret }}} If not empty it will try to use the string given to decrypt encrypted AVPs (password)

== Radius Dictionary ==
Since version 0.10.12 the Radius dissector will try to load protocol information (Vendors, Atrributes and Values) from the {{dictionary}} located in the {{{radius}}} directory of either the user's directory or the defaults directory.

{{{
# The format of the dictionary (and the default dictionary)
# is a subset of of FreeRADIUS'.
#
# Valid data types for attributes are:
#
# string - 0-253 octets
# ipaddr - 4 octets in network byte order
# integer - 32 bit value in big endian order (high byte first)
# (ethereal uses this type for non-standard 1-2-3 and 8 byte integers as well)
# date - 32 bit value in big endian order - seconds since
# 00:00:00 GMT, Jan. 1, 1970
# ifid - 8 octets in network byte order
# ipv6addr - 16 octets in network byte order
# ipv6prefix - 18 octets in network byte order
# octets - raw octets, printed as hex strings

# include another dictionary file from this directory
$INCLUDE dictionary.juniper

VENDOR Cosine 3085
VENDOR Cisco 9

BEGIN-VENDOR Cosine
ATTRIBUTE Cosine-Connection-Profile-Name 1 string
ATTRIBUTE Cosine-VPI-VCI 5 octets
ATTRIBUTE Cosine-DLCI 6 integer
END-VENDOR Cosine


# standard avps
ATTRIBUTE User-Name 1 string


# encrypted avps
ATTRIBUTE Password 2 string encrypt=1

# avps with tag
ATTRIBUTE Tunnel-Type 64 integer has_tag
ATTRIBUTE Tunnel-Password 69 string has_tag,encrypt=2

# single vendor avps
ATTRIBUTE Cisco-Disconnect-Cause 195 integer Cisco

# Values are declared
VALUE Tunnel-Type PPTP 1
VALUE Tunnel-Type L2F 2
VALUE Tunnel-Type L2TP 3
VALUE Tunnel-Type ATMP 4
VALUE Tunnel-Type VTP 5
VALUE Tunnel-Type AH 6
VALUE Tunnel-Type IP 7
VALUE Tunnel-Type MIN-IP 8
VALUE Tunnel-Type ESP 9
VALUE Tunnel-Type GRE 10
VALUE Tunnel-Type DVS 11
VALUE Tunnel-Type IP-in-IP 12
VALUE Tunnel-Type VLAN 13

}}}

RADIUS

RADIUS is a protocol for remote user authentication (and authorization?) and accounting. Its primary use is for Internet Service Providers, though it may as well be used on any network that needs a centralized authentication and/or accounting service for its workstations.

RADIUS is often used in larger ["Wi-Fi"] (wireless) networks for authentication purposes, replacing the simple shared key methods which are uncomfortable if a Wi-Fi network reaches a specific size.

The ["DIAMETER"] protocol is the designated successor, but RADIUS is still commonly used today.

History

XXX - add a brief description of RADIUS history

Protocol dependencies

  • ["UDP"]: RADIUS uses ["UDP"] as its underlying protocol. The registered UDP port for RADIUS traffic is 1812; the early deployment of RADIUS used UDP port 1645, which conflicted with the "datametrics" service. When RADIUS is used for accounting rather than authentication and configuration, the registered UDP port is 1813; the early deployment used port 1646, which conflicted with the "sa-msg-port" service.

Example traffic

XXX - Add example traffic here (as plain text or Ethereal screenshot).

Ethereal

RADIUS dissector is fully functional.

Preference Settings

Shared Secret

 radius.shared_secret  If not empty it will try to use the string given to decrypt encrypted AVPs (password)

Radius Dictionary

Since version 0.10.12 the Radius dissector will try to load protocol information (Vendors, Atrributes and Values) from the dictionary located in the radius directory of either the user's directory or the defaults directory.

#  The format of the dictionary (and the default dictionary)
#  is a subset of of FreeRADIUS'.
#
#  Valid data types for attributes are:
#
#       string  - 0-253 octets
#       ipaddr  - 4 octets in network byte order
#       integer - 32 bit value in big endian order (high byte first)
#             (ethereal uses this type for non-standard 1-2-3 and 8 byte integers as well)
#       date    - 32 bit value in big endian order - seconds since
#                                       00:00:00 GMT,  Jan.  1,  1970
#       ifid    - 8 octets in network byte order
#       ipv6addr   - 16 octets in network byte order
#       ipv6prefix - 18 octets in network byte order
#       octets  - raw octets, printed as hex strings

# include another dictionary file from this directory
$INCLUDE dictionary.juniper

VENDOR  Cosine  3085
VENDOR  Cisco   9

BEGIN-VENDOR  Cosine
ATTRIBUTE  Cosine-Connection-Profile-Name       1 string
ATTRIBUTE  Cosine-VPI-VCI                 5 octets
ATTRIBUTE  Cosine-DLCI                    6 integer
END-VENDOR  Cosine


# standard avps
ATTRIBUTE  User-Name            1 string


# encrypted avps 
ATTRIBUTE  Password             2 string encrypt=1

# avps with tag 
ATTRIBUTE  Tunnel-Type          64 integer has_tag
ATTRIBUTE  Tunnel-Password      69 string has_tag,encrypt=2

# single vendor avps 
ATTRIBUTE Cisco-Disconnect-Cause 195 integer Cisco

# Values are declared
VALUE  Tunnel-Type  PPTP     1
VALUE  Tunnel-Type  L2F      2
VALUE  Tunnel-Type  L2TP     3
VALUE  Tunnel-Type  ATMP     4
VALUE  Tunnel-Type  VTP      5
VALUE  Tunnel-Type  AH       6
VALUE  Tunnel-Type  IP       7
VALUE  Tunnel-Type  MIN-IP   8
VALUE  Tunnel-Type  ESP      9
VALUE  Tunnel-Type  GRE      10
VALUE  Tunnel-Type  DVS      11
VALUE  Tunnel-Type  IP-in-IP 12
VALUE  Tunnel-Type  VLAN     13

Example capture file

XXX - Add a simple example capture file. Keep it short, it's also a good idea to gzip it to make it even smaller, as Ethereal can open gzipped files automatically.

Display Filter

A complete list of RADIUS display filter fields can be found in the [http://www.ethereal.com/docs/dfref/r/radius.html display filter reference]

  • Show only the RADIUS traffic:

     radius 

Capture Filter

You cannot directly filter RADIUS protocols while capturing. However, if the RADIUS traffic is using one or more of the standard ["UDP"] ports (see above), you can filter on that port or ports.

  • Capture RADIUS authentication and configuration traffic over the assigned port (1812):

     udp port 1812 

    Capture RADIUS accounting traffic over the assigned port (1813):

     udp port 1813 

    Capture RADIUS authentication and configuration traffic, and RADIUS accounting traffic, over the assigned ports):

     udp port 1812 or udp port 1813 

RADIUS servers

See RadiusServers for information about various RADIUS server distributions.

Discussion

Radius (last edited 2009-04-29 23:56:07 by KonradRoeder)