1 /* packet-dcerpc-rras.c
2 * Routines for the rras (Routing and Remote Access service) MSRPC interface
3 * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr>
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
15 #include <epan/packet.h>
16 #include "packet-dcerpc.h"
17 #include "packet-dcerpc-rras.h"
19 void proto_register_dcerpc_rras(void);
20 void proto_reg_handoff_dcerpc_rras(void);
22 static int proto_dcerpc_rras = -1;
24 static int hf_rras_opnum = -1;
26 static gint ett_dcerpc_rras = -1;
29 * The rras MSRPC interface is typically reached using the ncacn_np transport
30 * and the \pipe\ROUTER named pipe as endpoint.
33 static e_guid_t uuid_dcerpc_rras = {
34 0x8f09f000, 0xb7ed, 0x11ce,
35 { 0xbb, 0xd2, 0x00, 0x00, 0x1a, 0x18, 0x1c, 0xad }
38 static guint16 ver_dcerpc_rras = 0;
41 static dcerpc_sub_dissector dcerpc_rras_dissectors[] = {
42 { RRAS_ADMIN_SERVER_GETINFO,
43 "MprAdminServerGetInfo", NULL, NULL },
44 { RRAS_ADMIN_CONNECTION_ENUM,
45 "RasAdminConnectionEnum", NULL, NULL },
46 { RRAS_ADMIN_CONNECTION_GETINFO,
47 "RasAdminConnectionGetInfo", NULL, NULL },
48 { RRAS_ADMIN_CONNECTION_CLEARSTATS,
49 "RasAdminConnectionClearStats", NULL, NULL },
50 { RRAS_ADMIN_PORT_ENUM,
51 "RasAdminPortEnum", NULL, NULL },
52 { RRAS_ADMIN_PORT_GETINFO,
53 "RasAdminPortGetInfo", NULL, NULL },
54 { RRAS_ADMIN_PORT_CLEARSTATS,
55 "RasAdminPortClearStats", NULL, NULL },
56 { RRAS_ADMIN_PORT_RESET,
57 "RasAdminPortReset", NULL, NULL },
58 { RRAS_ADMIN_PORT_DISCONNECT,
59 "RasAdminPortDisconnect", NULL, NULL },
60 { RRAS_RI_TRANS_SET_GLOBALINFO,
61 "RouterInterfaceTransportSetGlobalInfo", NULL, NULL },
62 { RRAS_RI_TRANS_GET_GLOBALINFO,
63 "RouterInterfaceTransportGetGlobalInfo", NULL, NULL },
65 "RouterInterfaceGetHandle", NULL, NULL },
67 "RouterInterfaceCreate", NULL, NULL },
69 "RouterInterfaceGetInfo", NULL, NULL },
71 "RouterInterfaceSetInfo", NULL, NULL },
73 "RouterInterfaceDelete", NULL, NULL },
75 "RouterInterfaceTransportRemove", NULL, NULL },
77 "RouterInterfaceTransportAdd", NULL, NULL },
79 "RouterInterfaceTransportGetInfo", NULL, NULL },
81 "RouterInterfaceTransportSetInfo", NULL, NULL },
83 "RouterInterfaceEnum", NULL, NULL },
85 "RouterInterfaceConnect", NULL, NULL },
87 "RouterInterfaceDisconnect", NULL, NULL },
88 { RRAS_RI_UPDATE_ROUTES,
89 "RouterInterfaceUpdateRoutes", NULL, NULL },
90 { RRAS_RI_QUERY_UPDATE_RESULT,
91 "RouterInterfaceQueryUpdateResult", NULL, NULL },
92 { RRAS_RI_UPDATE_PB_INFO,
93 "RouterInterfaceUpdatePhonebookInfo", NULL, NULL },
94 { RRAS_MIB_ENTRY_CREATE, "MIBEntryCreate", NULL, NULL },
95 { RRAS_MIB_ENTRY_DELETE, "MIBEntryDelete", NULL, NULL },
96 { RRAS_MIB_ENTRY_SET, "MIBEntrySet", NULL, NULL },
97 { RRAS_MIB_ENTRY_GET, "MIBEntryGet", NULL, NULL },
98 { RRAS_MIB_GET_FIRST, "MIBEntryGetFirst", NULL, NULL },
99 { RRAS_MIB_GET_NEXT, "MIBEntryGetNext", NULL, NULL },
100 { RRAS_GET_TRAP_INFO, "MIBGetTrapInfo", NULL, NULL },
101 { RRAS_SET_TRAP_INFO, "MIBSetTrapInfo", NULL, NULL },
102 { RRAS_ADMIN_CONNECTION_NOTIFICATION,
103 "RasAdminConnectionNotification", NULL, NULL },
104 { RRAS_ADMIN_SEND_USER_MSG, "RasAdminSendUserMessage", NULL, NULL },
105 { RRAS_ROUTER_DEVICE_ENUM, "RouterDeviceEnum", NULL, NULL },
106 { RRAS_RI_TRANSPORT_CREATE,
107 "RouterInterfaceTransportCreate", NULL, NULL },
108 { RRAS_RI_DEV_GETINFO, "RouterInterfaceDeviceGetInfo", NULL, NULL },
109 { RRAS_RI_DEV_SETINFO, "RouterInterfaceDeviceSetInfo", NULL, NULL },
110 { RRAS_RI_SET_CRED_EX, "RouterInterfaceSetCredentialsEx", NULL, NULL },
111 { RRAS_RI_GET_CRED_EX, "RouterInterfaceGetCredentialsEx", NULL, NULL },
112 { RRAS_ADMIN_CONNECTION_REM_QUARANT,
113 "RasAdminConnectionRemoveQuarantine", NULL, NULL },
114 { 0, NULL, NULL, NULL }
119 proto_register_dcerpc_rras(void)
122 static hf_register_info hf[] = {
125 { "Operation", "rras.opnum", FT_UINT16, BASE_DEC,
126 NULL, 0x0, NULL, HFILL }},
130 static gint *ett[] = {
135 proto_dcerpc_rras = proto_register_protocol(
136 "Microsoft Routing and Remote Access Service", "RRAS", "rras");
138 proto_register_field_array(proto_dcerpc_rras, hf, array_length(hf));
140 proto_register_subtree_array(ett, array_length(ett));
146 proto_reg_handoff_dcerpc_rras(void)
148 /* register protocol as dcerpc */
151 proto_dcerpc_rras, ett_dcerpc_rras, &uuid_dcerpc_rras,
152 ver_dcerpc_rras, dcerpc_rras_dissectors, hf_rras_opnum);
156 * Editor modelines - https://www.wireshark.org/tools/modelines.html
161 * indent-tabs-mode: t
164 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
165 * :indentSize=8:tabSize=8:noTabs=false: