Allow viewing connection details.

git-svn-id: file:///home/svn/framework3/trunk@10182 4d416f70-5f16-0410-b530-b9f4589650da
unstable
Matt Weeks 2010-08-29 02:50:03 +00:00
parent d5b31adc6d
commit 77aa35c53f
5 changed files with 42 additions and 2 deletions

Binary file not shown.

View File

@ -353,6 +353,16 @@
<Property name="name" type="java.lang.String" value="startRpcMenuItem" noResource="true"/>
</Properties>
</MenuItem>
<MenuItem class="javax.swing.JMenuItem" name="showDetailsItem">
<Properties>
<Property name="mnemonic" type="int" value="100"/>
<Property name="text" type="java.lang.String" resourceKey="showDetailsItem.text"/>
<Property name="name" type="java.lang.String" value="showDetailsItem" noResource="true"/>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showDetailsItemActionPerformed"/>
</Events>
</MenuItem>
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator1">
<Properties>
<Property name="name" type="java.lang.String" value="jSeparator1" noResource="true"/>

View File

@ -420,6 +420,7 @@ public class MainFrame extends FrameView {
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
connectRpcMenuItem = new javax.swing.JMenuItem();
startRpcMenuItem = new javax.swing.JMenuItem();
showDetailsItem = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
searchItem = new javax.swing.JMenuItem();
changeLFMenuItem = new javax.swing.JMenuItem();
@ -630,6 +631,16 @@ public class MainFrame extends FrameView {
startRpcMenuItem.setName("startRpcMenuItem"); // NOI18N
fileMenu.add(startRpcMenuItem);
showDetailsItem.setMnemonic('d');
showDetailsItem.setText(resourceMap.getString("showDetailsItem.text")); // NOI18N
showDetailsItem.setName("showDetailsItem"); // NOI18N
showDetailsItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
showDetailsItemActionPerformed(evt);
}
});
fileMenu.add(showDetailsItem);
jSeparator1.setName("jSeparator1"); // NOI18N
fileMenu.add(jSeparator1);
@ -1159,6 +1170,10 @@ public class MainFrame extends FrameView {
}
}//GEN-LAST:event_unloadPluginItemActionPerformed
private void showDetailsItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_showDetailsItemActionPerformed
JOptionPane.showMessageDialog(getFrame(), rpcConn.toString(), "Connection Details", JOptionPane.INFORMATION_MESSAGE);
}//GEN-LAST:event_showDetailsItemActionPerformed
/** Runs command on all current meterpreter sessions in new thread; posting updates for each thread */
private void runOnAllMeterpreters(String cmd, String output, JLabel outputLabel) {
SessionCommand.runOnAllMeterpreters(sessionsTableModel, cmd, output, outputLabel, rpcConn);
@ -1440,6 +1455,7 @@ public class MainFrame extends FrameView {
private javax.swing.JMenuItem searchItem;
private javax.swing.JTable servicesTable;
private javax.swing.JTable sessionsTable;
private javax.swing.JMenuItem showDetailsItem;
private javax.swing.JMenuItem socketLoggerItem;
private javax.swing.JMenuItem soundItem;
private javax.swing.JMenuItem startRpcMenuItem;

View File

@ -43,17 +43,22 @@ public class RpcConnection {
private OutputStream sout; //socket output/input
private InputStream sin;
private final Object lockObject = new Object();//to synchronize one request at a time
private String username, password, host;
private int port;
/** Constructor sets up a connection and authenticates. */
RpcConnection(String username, char[] password, String host, int port) throws MsfException {
boolean haveRpcd=false;
this.username = username;
this.password = new String(password);
this.host = host;
this.port = port;
String message = "";
try {
connection = new Socket(host, port);
sout = connection.getOutputStream();
sin = connection.getInputStream();
Object[] params = new Object[]{username, new String(password)};
Map results = exec("auth.login",params);
Map results = exec("auth.login",new Object[]{username, this.password});
rpcToken=results.get("token").toString();
haveRpcd=results.get("result").equals("success");
} catch (MsfException xre) {
@ -65,6 +70,14 @@ public class RpcConnection {
if(!haveRpcd)
throw new MsfException("Error connecting. "+message);
}
public String toString(){
return "RPC connection "
+ "\nusername: "+username
+ "\npassword: " + password
+ "\nhost: " + host
+ "\nport: " + Integer.toString(port);
}
/** Destructor cleans up. */
protected void finalize() throws Throwable{
super.finalize();

View File

@ -85,3 +85,4 @@ socketLoggerItem.text=Socket logger
otherPluginItem.text=Other
dbCredcollectItem.text=DB credcollect
unloadPluginItem.text=Unload plugin
showDetailsItem.text=Show connection details