DIAMETER
[From RFC 3588] "The Diameter base protocol is intended to provide an Authentication, Authorization and Accounting (AAA) framework for applications such as network access or IP mobility. Diameter is also intended to work in both local Authentication, Authorization & Accounting and roaming situations. This document specifies the message format, transport, error reporting, accounting and security services to be used by all Diameter applications. The Diameter base application needs to be supported by all Diameter implementations".
History
This is the successor of the RADIUS protocol.
Protocol dependencies
- TCP or SCTP: Typically DIAMETER uses TCP or SCTP as its transport protocol. Its well-known port is 3868. Its well-known SCTP Payload Protocol Identifier is 46 (47 when encrypted with DTLS).
Example traffic
Diameter Protocol
    Version: 0x01
    Length: 312
    Flags: 0x80
    Command Code: 272 Credit-Control
    ApplicationId: 16777266
    Hop-by-Hop Identifier: 0x00000002
    End-to-End Identifier: 0x00000002
    [Answer In: 6]
    AVP: Session-Id(263) l=47 f=-M- val=rosso.C1R1.com;4FD78691;5458;3B9ACA00;0
    AVP: Origin-Host(264) l=22 f=-M- val=rosso.C1R1.com
    AVP: Origin-Realm(296) l=16 f=-M- val=C1R1.com
    AVP: Destination-Realm(283) l=14 f=-M- val=R1.com
    AVP: CC-Request-Type(416) l=12 f=-M- val=INITIAL_REQUEST (1)
    AVP: CC-Request-Number(415) l=12 f=-M- val=0
    AVP: Subscription-Id(443) l=44 f=-M-Wireshark
The DIAMETER dissector is fully functional. The dissection of AVPs is specified in .xml files in the diameter directory. You can add AVP dissection of vendor-specific or missing AVPs by editing those files. If you add publicly available AVPs please send us the updates.
Currently there is a problem with application Id: if two AVPs have the same vendor Id but different Application ID WS can't distinguish between them (Bug 1494).
A known problem is 3GPP vendor specific AVPs in the range 1 - 26 in TGPPGmb.xml and imscxdx.xml which are mutually exclusive; depending on which 3GPP interface you are tracing one set will have to be commented out. (In the Wireshark distribution, the set in imscxdx.xml is commented out).
Preference Settings
- TCP Port(s)/range. TCP packets on this port(s)/range will be dissected as Diameter.
- SCTP port(s)/range. SCTP packets on this port will be dissected as Diameter.
- Reassemble Diameter messages spanning multiple TCP segments. Default on.
Example capture file
XXX - Add a simple example capture file to the SampleCaptures page and link from here. Keep it short, it's also a good idea to gzip it to make it even smaller, as Wireshark can open gzipped files automatically.
Display Filter
A complete list of DIAMETER display filter fields can be found in the display filter reference
Show only DIAMETER traffic:
 diameter Capture Filter
You cannot directly filter DIAMETER protocols while capturing. However, if you know the TCP or SCTP port used (see above), you can filter on that one.
Capture DIAMETER traffic over the default TCP port (3868):
 tcp port 3868 Capture DIAMETER traffic over the default SCTP port (3868):
 sctp port 3868 External links
- 
RFC 3588 Diameter Base Protocol 
- 
RFC 3589 Diameter Command Codes for Third Generation Partnership Project (3GPP) Release 5 
- 
RFC 4004 Diameter Mobile IPv4 Application 
- 
RFC 4005 Diameter Network Access Server Application 
- 
RFC 4006 Diameter Credit-control Application 
- 
RFC 4072 Diameter Extensible Authentication Protocol (EAP) Application 
- 
RFC 4740 Diameter Session Initiation Protocol (SIP) Application 
Internet-drafts:
* Client SMTP Validation (CSV)
Open source Diameter implementation:
- 
freeDiameter : Open Source (BSD) C implementation of Diameter for Linux, FreeBSD, ... 
- 
Open Source GPL Diameter in Java, maintained by Traffix Systems 
- 
Open Diameter - last updated in 2004 
Discussion
Imported from https://wiki.wireshark.org/DIAMETER on 2020-08-11 23:13:31 UTC
