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>
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32 #include <epan/packet.h>
33 #include "packet-dcerpc.h"
34 #include "packet-dcerpc-rras.h"
36 static int proto_dcerpc_rras = -1;
38 static int hf_rras_opnum = 0;
40 static gint ett_dcerpc_rras = -1;
43 * The rras MSRPC interface is typically reached using the ncacn_np transport
44 * and the \pipe\ROUTER named pipe as endpoint.
47 static e_uuid_t uuid_dcerpc_rras = {
48 0x8f09f000, 0xb7ed, 0x11ce,
49 { 0xbb, 0xd2, 0x00, 0x00, 0x1a, 0x18, 0x1c, 0xad }
52 static guint16 ver_dcerpc_rras = 0;
55 static dcerpc_sub_dissector dcerpc_rras_dissectors[] = {
56 { RRAS_ADMIN_SERVER_GETINFO,
57 "MprAdminServerGetInfo", NULL, NULL },
58 { RRAS_ADMIN_CONNECTION_ENUM,
59 "RasAdminConnectionEnum", NULL, NULL },
60 { RRAS_ADMIN_CONNECTION_GETINFO,
61 "RasAdminConnectionGetInfo", NULL, NULL },
62 { RRAS_ADMIN_CONNECTION_CLEARSTATS,
63 "RasAdminConnectionClearStats", NULL, NULL },
64 { RRAS_ADMIN_PORT_ENUM,
65 "RasAdminPortEnum", NULL, NULL },
66 { RRAS_ADMIN_PORT_GETINFO,
67 "RasAdminPortGetInfo", NULL, NULL },
68 { RRAS_ADMIN_PORT_CLEARSTATS,
69 "RasAdminPortClearStats", NULL, NULL },
70 { RRAS_ADMIN_PORT_RESET,
71 "RasAdminPortReset", NULL, NULL },
72 { RRAS_ADMIN_PORT_DISCONNECT,
73 "RasAdminPortDisconnect", NULL, NULL },
74 { RRAS_RI_TRANS_SET_GLOBALINFO,
75 "RouterInterfaceTransportSetGlobalInfo", NULL, NULL },
76 { RRAS_RI_TRANS_GET_GLOBALINFO,
77 "RouterInterfaceTransportGetGlobalInfo", NULL, NULL },
79 "RouterInterfaceGetHandle", NULL, NULL },
81 "RouterInterfaceCreate", NULL, NULL },
83 "RouterInterfaceGetInfo", NULL, NULL },
85 "RouterInterfaceSetInfo", NULL, NULL },
87 "RouterInterfaceDelete", NULL, NULL },
89 "RouterInterfaceTransportRemove", NULL, NULL },
91 "RouterInterfaceTransportAdd", NULL, NULL },
93 "RouterInterfaceTransportGetInfo", NULL, NULL },
95 "RouterInterfaceTransportSetInfo", NULL, NULL },
97 "RouterInterfaceEnum", NULL, NULL },
99 "RouterInterfaceConnect", NULL, NULL },
100 { RRAS_RI_DISCONNECT,
101 "RouterInterfaceDisconnect", NULL, NULL },
102 { RRAS_RI_UPDATE_ROUTES,
103 "RouterInterfaceUpdateRoutes", NULL, NULL },
104 { RRAS_RI_QUERY_UPDATE_RESULT,
105 "RouterInterfaceQueryUpdateResult", NULL, NULL },
106 { RRAS_RI_UPDATE_PB_INFO,
107 "RouterInterfaceUpdatePhonebookInfo", NULL, NULL },
108 { RRAS_MIB_ENTRY_CREATE, "MIBEntryCreate", NULL, NULL },
109 { RRAS_MIB_ENTRY_DELETE, "MIBEntryDelete", NULL, NULL },
110 { RRAS_MIB_ENTRY_SET, "MIBEntrySet", NULL, NULL },
111 { RRAS_MIB_ENTRY_GET, "MIBEntryGet", NULL, NULL },
112 { RRAS_MIB_GET_FIRST, "MIBEntryGetFirst", NULL, NULL },
113 { RRAS_MIB_GET_NEXT, "MIBEntryGetNext", NULL, NULL },
114 { RRAS_GET_TRAP_INFO, "MIBGetTrapInfo", NULL, NULL },
115 { RRAS_SET_TRAP_INFO, "MIBSetTrapInfo", NULL, NULL },
116 { RRAS_ADMIN_CONNECTION_NOTIFICATION,
117 "RasAdminConnectionNotification", NULL, NULL },
118 { RRAS_ADMIN_SEND_USER_MSG, "RasAdminSendUserMessage", NULL, NULL },
119 { RRAS_ROUTER_DEVICE_ENUM, "RouterDeviceEnum", NULL, NULL },
120 { RRAS_RI_TRANSPORT_CREATE,
121 "RouterInterfaceTransportCreate", NULL, NULL },
122 { RRAS_RI_DEV_GETINFO, "RouterInterfaceDeviceGetInfo", NULL, NULL },
123 { RRAS_RI_DEV_SETINFO, "RouterInterfaceDeviceSetInfo", NULL, NULL },
124 { RRAS_RI_SET_CRED_EX, "RouterInterfaceSetCredentialsEx", NULL, NULL },
125 { RRAS_RI_GET_CRED_EX, "RouterInterfaceGetCredentialsEx", NULL, NULL },
126 { RRAS_ADMIN_CONNECTION_REM_QUARANT,
127 "RasAdminConnectionRemoveQuarantine", NULL, NULL },
128 { 0, NULL, NULL, NULL }
133 proto_register_dcerpc_rras(void)
136 static hf_register_info hf[] = {
139 { "Operation", "rras.opnum", FT_UINT16, BASE_DEC,
140 NULL, 0x0, "Operation", HFILL }},
144 static gint *ett[] = {
149 proto_dcerpc_rras = proto_register_protocol(
150 "Microsoft Routing and Remote Access Service", "RRAS", "rras");
152 proto_register_field_array(proto_dcerpc_rras, hf, array_length(hf));
154 proto_register_subtree_array(ett, array_length(ett));
160 proto_reg_handoff_dcerpc_rras(void)
162 /* register protocol as dcerpc */
165 proto_dcerpc_rras, ett_dcerpc_rras, &uuid_dcerpc_rras,
166 ver_dcerpc_rras, dcerpc_rras_dissectors, hf_rras_opnum);