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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
30 #include <epan/packet.h>
31 #include "packet-dcerpc.h"
32 #include "packet-dcerpc-rras.h"
34 static int proto_dcerpc_rras
= -1;
36 static int hf_rras_opnum
= -1;
38 static gint ett_dcerpc_rras
= -1;
41 * The rras MSRPC interface is typically reached using the ncacn_np transport
42 * and the \pipe\ROUTER named pipe as endpoint.
45 static e_uuid_t uuid_dcerpc_rras
= {
46 0x8f09f000, 0xb7ed, 0x11ce,
47 { 0xbb, 0xd2, 0x00, 0x00, 0x1a, 0x18, 0x1c, 0xad }
50 static guint16 ver_dcerpc_rras
= 0;
53 static dcerpc_sub_dissector dcerpc_rras_dissectors
[] = {
54 { RRAS_ADMIN_SERVER_GETINFO
,
55 "MprAdminServerGetInfo", NULL
, NULL
},
56 { RRAS_ADMIN_CONNECTION_ENUM
,
57 "RasAdminConnectionEnum", NULL
, NULL
},
58 { RRAS_ADMIN_CONNECTION_GETINFO
,
59 "RasAdminConnectionGetInfo", NULL
, NULL
},
60 { RRAS_ADMIN_CONNECTION_CLEARSTATS
,
61 "RasAdminConnectionClearStats", NULL
, NULL
},
62 { RRAS_ADMIN_PORT_ENUM
,
63 "RasAdminPortEnum", NULL
, NULL
},
64 { RRAS_ADMIN_PORT_GETINFO
,
65 "RasAdminPortGetInfo", NULL
, NULL
},
66 { RRAS_ADMIN_PORT_CLEARSTATS
,
67 "RasAdminPortClearStats", NULL
, NULL
},
68 { RRAS_ADMIN_PORT_RESET
,
69 "RasAdminPortReset", NULL
, NULL
},
70 { RRAS_ADMIN_PORT_DISCONNECT
,
71 "RasAdminPortDisconnect", NULL
, NULL
},
72 { RRAS_RI_TRANS_SET_GLOBALINFO
,
73 "RouterInterfaceTransportSetGlobalInfo", NULL
, NULL
},
74 { RRAS_RI_TRANS_GET_GLOBALINFO
,
75 "RouterInterfaceTransportGetGlobalInfo", NULL
, NULL
},
77 "RouterInterfaceGetHandle", NULL
, NULL
},
79 "RouterInterfaceCreate", NULL
, NULL
},
81 "RouterInterfaceGetInfo", NULL
, NULL
},
83 "RouterInterfaceSetInfo", NULL
, NULL
},
85 "RouterInterfaceDelete", NULL
, NULL
},
87 "RouterInterfaceTransportRemove", NULL
, NULL
},
89 "RouterInterfaceTransportAdd", NULL
, NULL
},
91 "RouterInterfaceTransportGetInfo", NULL
, NULL
},
93 "RouterInterfaceTransportSetInfo", NULL
, NULL
},
95 "RouterInterfaceEnum", NULL
, NULL
},
97 "RouterInterfaceConnect", NULL
, NULL
},
99 "RouterInterfaceDisconnect", NULL
, NULL
},
100 { RRAS_RI_UPDATE_ROUTES
,
101 "RouterInterfaceUpdateRoutes", NULL
, NULL
},
102 { RRAS_RI_QUERY_UPDATE_RESULT
,
103 "RouterInterfaceQueryUpdateResult", NULL
, NULL
},
104 { RRAS_RI_UPDATE_PB_INFO
,
105 "RouterInterfaceUpdatePhonebookInfo", NULL
, NULL
},
106 { RRAS_MIB_ENTRY_CREATE
, "MIBEntryCreate", NULL
, NULL
},
107 { RRAS_MIB_ENTRY_DELETE
, "MIBEntryDelete", NULL
, NULL
},
108 { RRAS_MIB_ENTRY_SET
, "MIBEntrySet", NULL
, NULL
},
109 { RRAS_MIB_ENTRY_GET
, "MIBEntryGet", NULL
, NULL
},
110 { RRAS_MIB_GET_FIRST
, "MIBEntryGetFirst", NULL
, NULL
},
111 { RRAS_MIB_GET_NEXT
, "MIBEntryGetNext", NULL
, NULL
},
112 { RRAS_GET_TRAP_INFO
, "MIBGetTrapInfo", NULL
, NULL
},
113 { RRAS_SET_TRAP_INFO
, "MIBSetTrapInfo", NULL
, NULL
},
114 { RRAS_ADMIN_CONNECTION_NOTIFICATION
,
115 "RasAdminConnectionNotification", NULL
, NULL
},
116 { RRAS_ADMIN_SEND_USER_MSG
, "RasAdminSendUserMessage", NULL
, NULL
},
117 { RRAS_ROUTER_DEVICE_ENUM
, "RouterDeviceEnum", NULL
, NULL
},
118 { RRAS_RI_TRANSPORT_CREATE
,
119 "RouterInterfaceTransportCreate", NULL
, NULL
},
120 { RRAS_RI_DEV_GETINFO
, "RouterInterfaceDeviceGetInfo", NULL
, NULL
},
121 { RRAS_RI_DEV_SETINFO
, "RouterInterfaceDeviceSetInfo", NULL
, NULL
},
122 { RRAS_RI_SET_CRED_EX
, "RouterInterfaceSetCredentialsEx", NULL
, NULL
},
123 { RRAS_RI_GET_CRED_EX
, "RouterInterfaceGetCredentialsEx", NULL
, NULL
},
124 { RRAS_ADMIN_CONNECTION_REM_QUARANT
,
125 "RasAdminConnectionRemoveQuarantine", NULL
, NULL
},
126 { 0, NULL
, NULL
, NULL
}
131 proto_register_dcerpc_rras(void)
134 static hf_register_info hf
[] = {
137 { "Operation", "rras.opnum", FT_UINT16
, BASE_DEC
,
138 NULL
, 0x0, NULL
, HFILL
}},
142 static gint
*ett
[] = {
147 proto_dcerpc_rras
= proto_register_protocol(
148 "Microsoft Routing and Remote Access Service", "RRAS", "rras");
150 proto_register_field_array(proto_dcerpc_rras
, hf
, array_length(hf
));
152 proto_register_subtree_array(ett
, array_length(ett
));
158 proto_reg_handoff_dcerpc_rras(void)
160 /* register protocol as dcerpc */
163 proto_dcerpc_rras
, ett_dcerpc_rras
, &uuid_dcerpc_rras
,
164 ver_dcerpc_rras
, dcerpc_rras_dissectors
, hf_rras_opnum
);