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
;
24 static int hf_rras_opnum
;
26 static int ett_dcerpc_rras
;
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 uint16_t ver_dcerpc_rras
;
41 static const 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 int *ett
[] = {
135 proto_dcerpc_rras
= proto_register_protocol("Microsoft Routing and Remote Access Service", "RRAS", "rras");
137 proto_register_field_array(proto_dcerpc_rras
, hf
, array_length(hf
));
139 proto_register_subtree_array(ett
, array_length(ett
));
145 proto_reg_handoff_dcerpc_rras(void)
147 /* register protocol as dcerpc */
150 proto_dcerpc_rras
, ett_dcerpc_rras
, &uuid_dcerpc_rras
,
151 ver_dcerpc_rras
, dcerpc_rras_dissectors
, hf_rras_opnum
);
155 * Editor modelines - https://www.wireshark.org/tools/modelines.html
160 * indent-tabs-mode: t
163 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
164 * :indentSize=8:tabSize=8:noTabs=false: