1:/* 2: * 3: *!!! This applications released under the GPL !!! 4: * 5: * This program is distributed in the hope that it will be useful, 6: * but WITHOUT ANY WARRANTY; without even the implied warranty of 7: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 8: * GNU General Public License for more details. 9: * 10: * You should have received a copy of the GNU General Public License 11: * along with this program; if not, write to the Free Software 12: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 13: * 14: */ 15:package jnemesis; 16: 17:import java.io.*; 18:import java.util.*; 19:import javax.swing.*; 20:import javax.swing.event.*; 21:/** 22: * Created on April 11, 2004, 12:23 AM 23: * 24: * A graphical frontend to the nemesis packet injection utility 25: * This is the source of the beta build on Thu Aug 5 20:30:41 CDT 2004. 26: * ICMP and the queue do not function, no properties file support. 27: * 28: * Build system information follows: 29: * 30: * CPU: AMD Athlon(TM) XP 2800+ (2071.203Mhz) 31: * Memory: 1024M (est.) 32: * JRE: build 1.4.2_04-b05 33: * System ID: Linux home.fragtheweak.net 2.6.6-1.435.2.3 34: * 35: * Copyright (C) 2004 Florian Hines 36: * @author Florian Hines <pandemic@syn-recon.net||fhines@blackopscode.com> 37: * @version 1.0 38: */ 39:public class jnemesis extends javax.swing.JFrame { 40: 41: /** Creates new form jnemesis */ 42: public jnemesis() { 43: loadConfig(); 44: initComponents(); 45: try{ 46: tcpHelp.setPage("file://" + installDir + "/help/nemesis-tcp.html"); 47: } 48: catch (IOException e) 49: { 50: tcpHelp.setText("Help unavailable - error \n" + e); 51: } 52: try{ 53: udpHelp.setPage("file://" + installDir + "/help/nemesis-udp.html"); 54: } 55: catch (IOException e) 56: { 57: udpHelp.setText("Help unavailable - error \n" + e); 58: } 59: try{ 60: icmpHelp.setPage("file://" + installDir + "/help/nemesis-icmp.html"); 61: } 62: catch (IOException e) 63: { 64: icmpHelp.setText("Help unavailable - error \n" + e); 65: } 66: } 67: 68: private void initComponents() {//GEN-BEGIN:initComponents 69: jLabel4 = new javax.swing.JLabel(); 70: fileChooser = new javax.swing.JFileChooser(); 71: masterPanel = new javax.swing.JPanel(); 72: jtabbedPane1 = new javax.swing.JTabbedPane(); 73: tcpPanel = new javax.swing.JPanel(); 74: jPanel1 = new javax.swing.JPanel(); 75: srcPrtFlag1 = new javax.swing.JRadioButton(); 76: srcPrtField1 = new javax.swing.JTextField(); 77: dstPrtFlag1 = new javax.swing.JRadioButton(); 78: dstPrtField1 = new javax.swing.JTextField(); 79: tcpFlag1 = new javax.swing.JRadioButton(); 80: tcpFlagsCBox1 = new javax.swing.JComboBox(); 81: windowFlag1 = new javax.swing.JRadioButton(); 82: winSizeField1 = new javax.swing.JTextField(); 83: seqFlag1 = new javax.swing.JRadioButton(); 84: seqField1 = new javax.swing.JTextField(); 85: ackNumFlag1 = new javax.swing.JRadioButton(); 86: ackNumField1 = new javax.swing.JTextField(); 87: urgOffFlag1 = new javax.swing.JRadioButton(); 88: urgOffField1 = new javax.swing.JTextField(); 89: tcpOptBox1 = new javax.swing.JCheckBox(); 90: tcpOptField1 = new javax.swing.JTextField(); 91: tcpOpFileChooser1 = new javax.swing.JButton(); 92: payloadBox1 = new javax.swing.JCheckBox(); 93: payloadField1 = new javax.swing.JTextField(); 94: payloadFileChooser = new javax.swing.JButton(); 95: jPanel2 = new javax.swing.JPanel(); 96: srcIpFlag = new javax.swing.JRadioButton(); 97: srcIpField = new javax.swing.JTextField(); 98: dstIpFlag = new javax.swing.JRadioButton(); 99: dstIpField = new javax.swing.JTextField(); 100: ipIdFlag = new javax.swing.JRadioButton(); 101: ipIdField = new javax.swing.JTextField(); 102: ttlFlag = new javax.swing.JRadioButton(); 103: ttlField = new javax.swing.JTextField(); 104: tosFlag = new javax.swing.JRadioButton(); 105: tosField = new javax.swing.JTextField(); 106: fragOffSetFlag = new javax.swing.JRadioButton(); 107: fragOffSetField = new javax.swing.JTextField(); 108: ipOptFileBox = new javax.swing.JCheckBox(); 109: ipOptFileField = new javax.swing.JTextField(); 110: ipOptionsFileChooser = new javax.swing.JButton(); 111: jPanel3 = new javax.swing.JPanel(); 112: ethDevFlag = new javax.swing.JRadioButton(); 113: ethDevField = new javax.swing.JTextField(); 114: srcMacFlag = new javax.swing.JRadioButton(); 115: srcMacField = new javax.swing.JTextField(); 116: dstMacFlag = new javax.swing.JRadioButton(); 117: dstMacField = new javax.swing.JTextField(); 118: udpPanel = new javax.swing.JPanel(); 119: jPanel4 = new javax.swing.JPanel(); 120: jPanel7 = new javax.swing.JPanel(); 121: srcPrtFlag2 = new javax.swing.JRadioButton(); 122: srcPrtField2 = new javax.swing.JTextField(); 123: dstPrtFlag2 = new javax.swing.JRadioButton(); 124: dstPrtField2 = new javax.swing.JTextField(); 125: jPanel12 = new javax.swing.JPanel(); 126: payloadBox2 = new javax.swing.JCheckBox(); 127: payloadField2 = new javax.swing.JTextField(); 128: payloadFileChooser1 = new javax.swing.JButton(); 129: jPanel5 = new javax.swing.JPanel(); 130: srcIpFlag1 = new javax.swing.JRadioButton(); 131: srcIpField1 = new javax.swing.JTextField(); 132: dstIpFlag1 = new javax.swing.JRadioButton(); 133: dstIpField1 = new javax.swing.JTextField(); 134: ipIdFlag1 = new javax.swing.JRadioButton(); 135: ipIdField1 = new javax.swing.JTextField(); 136: ttlFlag1 = new javax.swing.JRadioButton(); 137: ttlField1 = new javax.swing.JTextField(); 138: tosFlag1 = new javax.swing.JRadioButton(); 139: tosField1 = new javax.swing.JTextField(); 140: fragOffSetFlag1 = new javax.swing.JRadioButton(); 141: fragOffSetField1 = new javax.swing.JTextField(); 142: ipOptFileBox1 = new javax.swing.JCheckBox(); 143: ipOptFileField1 = new javax.swing.JTextField(); 144: ipOptionsFileChooser1 = new javax.swing.JButton(); 145: jPanel6 = new javax.swing.JPanel(); 146: ethDevFlag1 = new javax.swing.JRadioButton(); 147: ethDevField1 = new javax.swing.JTextField(); 148: srcMacFlag1 = new javax.swing.JRadioButton(); 149: srcMacField1 = new javax.swing.JTextField(); 150: dstMacFlag1 = new javax.swing.JRadioButton(); 151: dstMacField1 = new javax.swing.JTextField(); 152: icmpPanel = new javax.swing.JPanel(); 153: jPanel8 = new javax.swing.JPanel(); 154: jTabbedPane2 = new javax.swing.JTabbedPane(); 155: jPanel11 = new javax.swing.JPanel(); 156: icmpCodeFlag1 = new javax.swing.JRadioButton(); 157: icmpCodeField1 = new javax.swing.JTextField(); 158: icmpIDFlag1 = new javax.swing.JRadioButton(); 159: icmpIDField1 = new javax.swing.JTextField(); 160: icmpTypeFlag1 = new javax.swing.JRadioButton(); 161: icmpTypeField1 = new javax.swing.JTextField(); 162: prefGatewayFlag1 = new javax.swing.JRadioButton(); 163: prefGatewayField1 = new javax.swing.JTextField(); 164: icmpMaskFlag1 = new javax.swing.JRadioButton(); 165: icmpMaskField1 = new javax.swing.JTextField(); 166: icmpModeFlag1 = new javax.swing.JRadioButton(); 167: icmpModeCBox1 = new javax.swing.JComboBox(); 168: icmpSeqNumFlag1 = new javax.swing.JRadioButton(); 169: icmpSeqNumField1 = new javax.swing.JTextField(); 170: payloadBox3 = new javax.swing.JCheckBox(); 171: payloadField3 = new javax.swing.JTextField(); 172: payloadFileChooser2 = new javax.swing.JButton(); 173: jPanel13 = new javax.swing.JPanel(); 174: icmpTRRTTFlag1 = new javax.swing.JRadioButton(); 175: icmpTRRTTField1 = new javax.swing.JTextField(); 176: icmpTRTTFlag1 = new javax.swing.JRadioButton(); 177: icmpTRTTField1 = new javax.swing.JTextField(); 178: icmpTRRRTFlag1 = new javax.swing.JRadioButton(); 179: icmpTRRRTField1 = new javax.swing.JTextField(); 180: jPanel14 = new javax.swing.JPanel(); 181: icmpDstIPFlag1 = new javax.swing.JRadioButton(); 182: icmpDstIPField1 = new javax.swing.JTextField(); 183: icmpSrcIPFlag1 = new javax.swing.JRadioButton(); 184: icmpSrcIPField1 = new javax.swing.JTextField(); 185: icmpFragOpsFlag1 = new javax.swing.JRadioButton(); 186: icmpFragOpsField1 = new javax.swing.JTextField(); 187: icmpIPTosFlag1 = new javax.swing.JRadioButton(); 188: icmpIPTosField1 = new javax.swing.JTextField(); 189: icmpIPTtlFlag1 = new javax.swing.JRadioButton(); 190: icmpIPTtlField1 = new javax.swing.JTextField(); 191: icmpIPOptsBox = new javax.swing.JCheckBox(); 192: icmpIPOptsPayloadField = new javax.swing.JTextField(); 193: payloadFileChooser3 = new javax.swing.JButton(); 194: jPanel9 = new javax.swing.JPanel(); 195: srcIpFlag2 = new javax.swing.JRadioButton(); 196: srcIpField2 = new javax.swing.JTextField(); 197: dstIpFlag2 = new javax.swing.JRadioButton(); 198: dstIpField2 = new javax.swing.JTextField(); 199: ipIdFlag2 = new javax.swing.JRadioButton(); 200: ipIdField2 = new javax.swing.JTextField(); 201: ttlFlag2 = new javax.swing.JRadioButton(); 202: ttlField2 = new javax.swing.JTextField(); 203: tosFlag2 = new javax.swing.JRadioButton(); 204: tosField2 = new javax.swing.JTextField(); 205: fragOffSetFlag2 = new javax.swing.JRadioButton(); 206: fragOffSetField2 = new javax.swing.JTextField(); 207: ipOptFileBox2 = new javax.swing.JCheckBox(); 208: ipOptFileField2 = new javax.swing.JTextField(); 209: ipOptionsFileChooser2 = new javax.swing.JButton(); 210: jPanel10 = new javax.swing.JPanel(); 211: ethDevFlag2 = new javax.swing.JRadioButton(); 212: ethDevField2 = new javax.swing.JTextField(); 213: srcMacFlag2 = new javax.swing.JRadioButton(); 214: srcMacField2 = new javax.swing.JTextField(); 215: dstMacFlag2 = new javax.swing.JRadioButton(); 216: dstMacField2 = new javax.swing.JTextField(); 217: queuePanel = new javax.swing.JPanel(); 218: jScrollPane1 = new javax.swing.JScrollPane(); 219: queuedList = new javax.swing.JList(queuedPackets); 220: jPanel16 = new javax.swing.JPanel(); 221: injectNext = new javax.swing.JButton(); 222: injectAll = new javax.swing.JButton(); 223: rmSelected = new javax.swing.JButton(); 224: rmAll = new javax.swing.JButton(); 225: saveQueue = new javax.swing.JButton(); 226: statusPane = new javax.swing.JScrollPane(); 227: injectionResult = new javax.swing.JTextArea(); 228: jPanel15 = new javax.swing.JPanel(); 229: help = new javax.swing.JTabbedPane(); 230: jScrollPane2 = new javax.swing.JScrollPane(); 231: tcpHelp = new javax.swing.JEditorPane(); 232: jScrollPane3 = new javax.swing.JScrollPane(); 233: udpHelp = new javax.swing.JEditorPane(); 234: jScrollPane4 = new javax.swing.JScrollPane(); 235: icmpHelp = new javax.swing.JEditorPane(); 236: jPanel17 = new javax.swing.JPanel(); 237: jLabel2 = new javax.swing.JLabel(); 238: jLabel3 = new javax.swing.JLabel(); 239: jLabel5 = new javax.swing.JLabel(); 240: controlPanel = new javax.swing.JPanel(); 241: injectButton = new javax.swing.JButton(); 242: queuePacket = new javax.swing.JButton(); 243: jLabel1 = new javax.swing.JLabel(); 244: statusField = new javax.swing.JTextField(); 245: 246: jLabel4.setText("jLabel4"); 247: 248: setTitle("jNemesis 1.0"); 249: setResizable(false); 250: addWindowListener(new java.awt.event.WindowAdapter() { 251: public void windowClosing(java.awt.event.WindowEvent evt) { 252: exitForm(evt); 253: } 254: }); 255: 256: masterPanel.setLayout(new java.awt.BorderLayout()); 257: 258: masterPanel.setMaximumSize(new java.awt.Dimension(575, 375)); 259: masterPanel.setMinimumSize(new java.awt.Dimension(575, 375)); 260: masterPanel.setPreferredSize(new java.awt.Dimension(575, 375)); 261: jtabbedPane1.setFont(new java.awt.Font("Dialog", 0, 12)); 262: tcpPanel.setLayout(new java.awt.BorderLayout()); 263: 264: jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 265: 266: jPanel1.setBorder(new javax.swing.border.TitledBorder(null, "TCP Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 267: jPanel1.setMaximumSize(new java.awt.Dimension(32767, 200)); 268: jPanel1.setMinimumSize(new java.awt.Dimension(10, 150)); 269: jPanel1.setPreferredSize(new java.awt.Dimension(10, 150)); 270: srcPrtFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 271: srcPrtFlag1.setText("-x <src port>"); 272: srcPrtFlag1.setToolTipText("Source Port Flag"); 273: srcPrtFlag1.addActionListener(new java.awt.event.ActionListener() { 274: public void actionPerformed(java.awt.event.ActionEvent evt) { 275: srcPrtFlag1ActionPerformed(evt); 276: } 277: }); 278: 279: jPanel1.add(srcPrtFlag1); 280: 281: srcPrtField1.setEditable(false); 282: srcPrtField1.setToolTipText("Enter the source port"); 283: srcPrtField1.setMinimumSize(new java.awt.Dimension(35, 20)); 284: srcPrtField1.setPreferredSize(new java.awt.Dimension(48, 20)); 285: jPanel1.add(srcPrtField1); 286: 287: dstPrtFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 288: dstPrtFlag1.setText("-y <dst port>"); 289: dstPrtFlag1.setToolTipText("Destination Port Flag"); 290: dstPrtFlag1.addActionListener(new java.awt.event.ActionListener() { 291: public void actionPerformed(java.awt.event.ActionEvent evt) { 292: dstPrtFlag1ActionPerformed(evt); 293: } 294: }); 295: 296: jPanel1.add(dstPrtFlag1); 297: 298: dstPrtField1.setEditable(false); 299: dstPrtField1.setToolTipText("Enter Destination Port"); 300: dstPrtField1.setMinimumSize(new java.awt.Dimension(35, 20)); 301: dstPrtField1.setPreferredSize(new java.awt.Dimension(48, 20)); 302: jPanel1.add(dstPrtField1); 303: 304: tcpFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 305: tcpFlag1.setText("-f <TCP Flags>"); 306: tcpFlag1.setToolTipText("TCP Flag Options"); 307: tcpFlag1.addActionListener(new java.awt.event.ActionListener() { 308: public void actionPerformed(java.awt.event.ActionEvent evt) { 309: tcpFlag1ActionPerformed(evt); 310: } 311: }); 312: 313: jPanel1.add(tcpFlag1); 314: 315: tcpFlagsCBox1.setMaximumRowCount(6); 316: tcpFlagsCBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "NONE", "-fS (SYN)", "-fA (ACK)", "-fR (RST)", "-fP (PSH)", "-fF (FIN)", "-fU (URG)" })); 317: tcpFlagsCBox1.setToolTipText("Possible TCP Flags"); 318: tcpFlagsCBox1.setEnabled(false); 319: jPanel1.add(tcpFlagsCBox1); 320: 321: windowFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 322: windowFlag1.setText("-w <window size>"); 323: windowFlag1.setToolTipText("Window Size"); 324: windowFlag1.addActionListener(new java.awt.event.ActionListener() { 325: public void actionPerformed(java.awt.event.ActionEvent evt) { 326: windowFlag1ActionPerformed(evt); 327: } 328: }); 329: 330: jPanel1.add(windowFlag1); 331: 332: winSizeField1.setEditable(false); 333: winSizeField1.setToolTipText("Enter the Window Size"); 334: winSizeField1.setMinimumSize(new java.awt.Dimension(45, 20)); 335: winSizeField1.setPreferredSize(new java.awt.Dimension(45, 20)); 336: jPanel1.add(winSizeField1); 337: 338: seqFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 339: seqFlag1.setText("-s <SEQ Number>"); 340: seqFlag1.setToolTipText("Seq Number Flag"); 341: seqFlag1.addActionListener(new java.awt.event.ActionListener() { 342: public void actionPerformed(java.awt.event.ActionEvent evt) { 343: seqFlag1ActionPerformed(evt); 344: } 345: }); 346: 347: jPanel1.add(seqFlag1); 348: 349: seqField1.setEditable(false); 350: seqField1.setToolTipText("Enter The Seq Number"); 351: seqField1.setMinimumSize(new java.awt.Dimension(35, 20)); 352: seqField1.setPreferredSize(new java.awt.Dimension(35, 20)); 353: jPanel1.add(seqField1); 354: 355: ackNumFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 356: ackNumFlag1.setText("-a"); 357: ackNumFlag1.setToolTipText("Ack Number Flag"); 358: ackNumFlag1.addActionListener(new java.awt.event.ActionListener() { 359: public void actionPerformed(java.awt.event.ActionEvent evt) { 360: ackNumFlag1ActionPerformed(evt); 361: } 362: }); 363: 364: jPanel1.add(ackNumFlag1); 365: 366: ackNumField1.setEditable(false); 367: ackNumField1.setToolTipText("Enter Ack Number"); 368: ackNumField1.setMinimumSize(new java.awt.Dimension(40, 20)); 369: ackNumField1.setPreferredSize(new java.awt.Dimension(40, 20)); 370: jPanel1.add(ackNumField1); 371: 372: urgOffFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 373: urgOffFlag1.setText("-u"); 374: urgOffFlag1.setToolTipText("UP Offset Flag"); 375: urgOffFlag1.addActionListener(new java.awt.event.ActionListener() { 376: public void actionPerformed(java.awt.event.ActionEvent evt) { 377: urgOffFlag1ActionPerformed(evt); 378: } 379: }); 380: 381: jPanel1.add(urgOffFlag1); 382: 383: urgOffField1.setEditable(false); 384: urgOffField1.setToolTipText("Urgent Pointer Offset"); 385: urgOffField1.setMinimumSize(new java.awt.Dimension(40, 20)); 386: urgOffField1.setPreferredSize(new java.awt.Dimension(40, 20)); 387: jPanel1.add(urgOffField1); 388: 389: tcpOptBox1.setFont(new java.awt.Font("Dialog", 0, 12)); 390: tcpOptBox1.setText("-o <TCP Options File>"); 391: tcpOptBox1.setToolTipText("TCP Options File"); 392: tcpOptBox1.addActionListener(new java.awt.event.ActionListener() { 393: public void actionPerformed(java.awt.event.ActionEvent evt) { 394: tcpOptBox1ActionPerformed(evt); 395: } 396: }); 397: 398: jPanel1.add(tcpOptBox1); 399: 400: tcpOptField1.setEditable(false); 401: tcpOptField1.setToolTipText("path/to/tcp/options/file"); 402: tcpOptField1.setMinimumSize(new java.awt.Dimension(100, 20)); 403: tcpOptField1.setPreferredSize(new java.awt.Dimension(250, 20)); 404: jPanel1.add(tcpOptField1); 405: 406: tcpOpFileChooser1.setText("../"); 407: tcpOpFileChooser1.addActionListener(new java.awt.event.ActionListener() { 408: public void actionPerformed(java.awt.event.ActionEvent evt) { 409: tcpOpFileChooser1ActionPerformed(evt); 410: } 411: }); 412: 413: jPanel1.add(tcpOpFileChooser1); 414: 415: payloadBox1.setFont(new java.awt.Font("Dialog", 0, 12)); 416: payloadBox1.setText("-P <Payload File> "); 417: payloadBox1.setToolTipText("Payload File"); 418: payloadBox1.addActionListener(new java.awt.event.ActionListener() { 419: public void actionPerformed(java.awt.event.ActionEvent evt) { 420: payloadBox1ActionPerformed(evt); 421: } 422: }); 423: 424: jPanel1.add(payloadBox1); 425: 426: payloadField1.setEditable(false); 427: payloadField1.setToolTipText("path/to/payload/file"); 428: payloadField1.setMinimumSize(new java.awt.Dimension(200, 20)); 429: payloadField1.setPreferredSize(new java.awt.Dimension(250, 20)); 430: jPanel1.add(payloadField1); 431: 432: payloadFileChooser.setText("../"); 433: payloadFileChooser.addActionListener(new java.awt.event.ActionListener() { 434: public void actionPerformed(java.awt.event.ActionEvent evt) { 435: payloadFileChooserActionPerformed(evt); 436: } 437: }); 438: 439: jPanel1.add(payloadFileChooser); 440: 441: tcpPanel.add(jPanel1, java.awt.BorderLayout.NORTH); 442: 443: jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 444: 445: jPanel2.setBorder(new javax.swing.border.TitledBorder(null, "IP Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 446: jPanel2.setMaximumSize(new java.awt.Dimension(32767, 86)); 447: jPanel2.setMinimumSize(new java.awt.Dimension(10, 86)); 448: jPanel2.setPreferredSize(new java.awt.Dimension(10, 86)); 449: srcIpFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 450: srcIpFlag.setText("-S <src ip>"); 451: srcIpFlag.addActionListener(new java.awt.event.ActionListener() { 452: public void actionPerformed(java.awt.event.ActionEvent evt) { 453: srcIpFlagActionPerformed(evt); 454: } 455: }); 456: 457: jPanel2.add(srcIpFlag); 458: 459: srcIpField.setEditable(false); 460: srcIpField.setToolTipText("Enter The Source IP Address"); 461: srcIpField.setMinimumSize(new java.awt.Dimension(97, 20)); 462: srcIpField.setPreferredSize(new java.awt.Dimension(100, 20)); 463: jPanel2.add(srcIpField); 464: 465: dstIpFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 466: dstIpFlag.setText("-D <dst ip>"); 467: dstIpFlag.addActionListener(new java.awt.event.ActionListener() { 468: public void actionPerformed(java.awt.event.ActionEvent evt) { 469: dstIpFlagActionPerformed(evt); 470: } 471: }); 472: 473: jPanel2.add(dstIpFlag); 474: 475: dstIpField.setEditable(false); 476: dstIpField.setToolTipText("Enter The Destination IP Address"); 477: dstIpField.setMinimumSize(new java.awt.Dimension(97, 20)); 478: dstIpField.setPreferredSize(new java.awt.Dimension(100, 20)); 479: jPanel2.add(dstIpField); 480: 481: ipIdFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 482: ipIdFlag.setText("-I <ip id>"); 483: ipIdFlag.addActionListener(new java.awt.event.ActionListener() { 484: public void actionPerformed(java.awt.event.ActionEvent evt) { 485: ipIdFlagActionPerformed(evt); 486: } 487: }); 488: 489: jPanel2.add(ipIdFlag); 490: 491: ipIdField.setEditable(false); 492: ipIdField.setToolTipText("Enter the IP ID number"); 493: ipIdField.setMinimumSize(new java.awt.Dimension(32, 20)); 494: ipIdField.setPreferredSize(new java.awt.Dimension(32, 20)); 495: jPanel2.add(ipIdField); 496: 497: ttlFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 498: ttlFlag.setText(" -T <ttl>"); 499: ttlFlag.addActionListener(new java.awt.event.ActionListener() { 500: public void actionPerformed(java.awt.event.ActionEvent evt) { 501: ttlFlagActionPerformed(evt); 502: } 503: }); 504: 505: jPanel2.add(ttlFlag); 506: 507: ttlField.setEditable(false); 508: ttlField.setMinimumSize(new java.awt.Dimension(60, 20)); 509: ttlField.setPreferredSize(new java.awt.Dimension(40, 20)); 510: jPanel2.add(ttlField); 511: 512: tosFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 513: tosFlag.setText("-t <tos>"); 514: tosFlag.addActionListener(new java.awt.event.ActionListener() { 515: public void actionPerformed(java.awt.event.ActionEvent evt) { 516: tosFlagActionPerformed(evt); 517: } 518: }); 519: 520: jPanel2.add(tosFlag); 521: 522: tosField.setEditable(false); 523: tosField.setToolTipText("Enter TOS"); 524: tosField.setMinimumSize(new java.awt.Dimension(50, 20)); 525: tosField.setPreferredSize(new java.awt.Dimension(50, 20)); 526: jPanel2.add(tosField); 527: 528: fragOffSetFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 529: fragOffSetFlag.setText("-F <frag offset>"); 530: fragOffSetFlag.addActionListener(new java.awt.event.ActionListener() { 531: public void actionPerformed(java.awt.event.ActionEvent evt) { 532: fragOffSetFlagActionPerformed(evt); 533: } 534: }); 535: 536: jPanel2.add(fragOffSetFlag); 537: 538: fragOffSetField.setEditable(false); 539: fragOffSetField.setToolTipText("Enter the fragmentation off set"); 540: fragOffSetField.setMinimumSize(new java.awt.Dimension(50, 20)); 541: fragOffSetField.setPreferredSize(new java.awt.Dimension(50, 20)); 542: jPanel2.add(fragOffSetField); 543: 544: ipOptFileBox.setFont(new java.awt.Font("Dialog", 0, 12)); 545: ipOptFileBox.setText("-O <IP Options File>"); 546: ipOptFileBox.addActionListener(new java.awt.event.ActionListener() { 547: public void actionPerformed(java.awt.event.ActionEvent evt) { 548: ipOptFileBoxActionPerformed(evt); 549: } 550: }); 551: 552: jPanel2.add(ipOptFileBox); 553: 554: ipOptFileField.setEditable(false); 555: ipOptFileField.setToolTipText("/path/to/ip/options/file"); 556: ipOptFileField.setPreferredSize(new java.awt.Dimension(250, 20)); 557: jPanel2.add(ipOptFileField); 558: 559: ipOptionsFileChooser.setFont(new java.awt.Font("Dialog", 0, 12)); 560: ipOptionsFileChooser.setText("../"); 561: ipOptionsFileChooser.addActionListener(new java.awt.event.ActionListener() { 562: public void actionPerformed(java.awt.event.ActionEvent evt) { 563: ipOptionsFileChooserActionPerformed(evt); 564: } 565: }); 566: 567: jPanel2.add(ipOptionsFileChooser); 568: 569: tcpPanel.add(jPanel2, java.awt.BorderLayout.CENTER); 570: 571: jPanel3.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2)); 572: 573: jPanel3.setBorder(new javax.swing.border.TitledBorder(null, "Data Link Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 574: jPanel3.setMaximumSize(new java.awt.Dimension(32767, 52)); 575: jPanel3.setMinimumSize(new java.awt.Dimension(10, 52)); 576: jPanel3.setPreferredSize(new java.awt.Dimension(10, 52)); 577: ethDevFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 578: ethDevFlag.setText("-d <Ethernet Device>"); 579: ethDevFlag.addActionListener(new java.awt.event.ActionListener() { 580: public void actionPerformed(java.awt.event.ActionEvent evt) { 581: ethDevFlagActionPerformed(evt); 582: } 583: }); 584: 585: jPanel3.add(ethDevFlag); 586: 587: ethDevField.setEditable(false); 588: ethDevField.setToolTipText("Enter the ethernet device you want to use"); 589: ethDevField.setMinimumSize(new java.awt.Dimension(63, 20)); 590: ethDevField.setPreferredSize(new java.awt.Dimension(63, 20)); 591: jPanel3.add(ethDevField); 592: 593: srcMacFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 594: srcMacFlag.setText("-H"); 595: srcMacFlag.setToolTipText("Source Mac Address"); 596: srcMacFlag.addActionListener(new java.awt.event.ActionListener() { 597: public void actionPerformed(java.awt.event.ActionEvent evt) { 598: srcMacFlagActionPerformed(evt); 599: } 600: }); 601: 602: jPanel3.add(srcMacFlag); 603: 604: srcMacField.setEditable(false); 605: srcMacField.setToolTipText("Source Mac Address"); 606: srcMacField.setMinimumSize(new java.awt.Dimension(100, 20)); 607: srcMacField.setPreferredSize(new java.awt.Dimension(100, 20)); 608: jPanel3.add(srcMacField); 609: 610: dstMacFlag.setFont(new java.awt.Font("Dialog", 0, 12)); 611: dstMacFlag.setText("-M"); 612: dstMacFlag.setToolTipText("Destination Mac Address"); 613: dstMacFlag.addActionListener(new java.awt.event.ActionListener() { 614: public void actionPerformed(java.awt.event.ActionEvent evt) { 615: dstMacFlagActionPerformed(evt); 616: } 617: }); 618: 619: jPanel3.add(dstMacFlag); 620: 621: dstMacField.setEditable(false); 622: dstMacField.setToolTipText("Destination Mac Address"); 623: dstMacField.setMinimumSize(new java.awt.Dimension(100, 20)); 624: dstMacField.setPreferredSize(new java.awt.Dimension(100, 20)); 625: jPanel3.add(dstMacField); 626: 627: tcpPanel.add(jPanel3, java.awt.BorderLayout.SOUTH); 628: 629: jtabbedPane1.addTab("TCP", tcpPanel); 630: 631: udpPanel.setLayout(new java.awt.BorderLayout()); 632: 633: jPanel4.setLayout(new java.awt.BorderLayout()); 634: 635: jPanel4.setBorder(new javax.swing.border.TitledBorder(null, "UPD Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 636: jPanel4.setMaximumSize(new java.awt.Dimension(32767, 150)); 637: jPanel4.setMinimumSize(new java.awt.Dimension(20, 150)); 638: jPanel4.setPreferredSize(new java.awt.Dimension(20, 150)); 639: jPanel7.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2)); 640: 641: srcPrtFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 642: srcPrtFlag2.setText("-x <src port>"); 643: srcPrtFlag2.setToolTipText("Source Port Flag"); 644: srcPrtFlag2.addActionListener(new java.awt.event.ActionListener() { 645: public void actionPerformed(java.awt.event.ActionEvent evt) { 646: srcPrtFlag2ActionPerformed(evt); 647: } 648: }); 649: 650: jPanel7.add(srcPrtFlag2); 651: 652: srcPrtField2.setEditable(false); 653: srcPrtField2.setToolTipText("Enter the source port"); 654: srcPrtField2.setMinimumSize(new java.awt.Dimension(35, 20)); 655: srcPrtField2.setPreferredSize(new java.awt.Dimension(48, 20)); 656: jPanel7.add(srcPrtField2); 657: 658: dstPrtFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 659: dstPrtFlag2.setText("-y <dst port>"); 660: dstPrtFlag2.setToolTipText("Destination Port Flag"); 661: dstPrtFlag2.addActionListener(new java.awt.event.ActionListener() { 662: public void actionPerformed(java.awt.event.ActionEvent evt) { 663: dstPrtFlag2ActionPerformed(evt); 664: } 665: }); 666: 667: jPanel7.add(dstPrtFlag2); 668: 669: dstPrtField2.setEditable(false); 670: dstPrtField2.setToolTipText("Enter Destination Port"); 671: dstPrtField2.setMinimumSize(new java.awt.Dimension(35, 20)); 672: dstPrtField2.setPreferredSize(new java.awt.Dimension(48, 20)); 673: jPanel7.add(dstPrtField2); 674: 675: jPanel4.add(jPanel7, java.awt.BorderLayout.NORTH); 676: 677: jPanel12.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2)); 678: 679: payloadBox2.setFont(new java.awt.Font("Dialog", 0, 12)); 680: payloadBox2.setText("-P <Payload File> "); 681: payloadBox2.setToolTipText("Payload File"); 682: payloadBox2.addActionListener(new java.awt.event.ActionListener() { 683: public void actionPerformed(java.awt.event.ActionEvent evt) { 684: payloadBox2ActionPerformed(evt); 685: } 686: }); 687: 688: jPanel12.add(payloadBox2); 689: 690: payloadField2.setEditable(false); 691: payloadField2.setToolTipText("path/to/payload/file"); 692: payloadField2.setMinimumSize(new java.awt.Dimension(200, 20)); 693: payloadField2.setPreferredSize(new java.awt.Dimension(250, 20)); 694: jPanel12.add(payloadField2); 695: 696: payloadFileChooser1.setText("../"); 697: payloadFileChooser1.addActionListener(new java.awt.event.ActionListener() { 698: public void actionPerformed(java.awt.event.ActionEvent evt) { 699: payloadFileChooser1ActionPerformed(evt); 700: } 701: }); 702: 703: jPanel12.add(payloadFileChooser1); 704: 705: jPanel4.add(jPanel12, java.awt.BorderLayout.WEST); 706: 707: udpPanel.add(jPanel4, java.awt.BorderLayout.NORTH); 708: 709: jPanel5.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 710: 711: jPanel5.setBorder(new javax.swing.border.TitledBorder(null, "IP Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 712: jPanel5.setMaximumSize(new java.awt.Dimension(32767, 86)); 713: jPanel5.setMinimumSize(new java.awt.Dimension(1228, 86)); 714: jPanel5.setPreferredSize(new java.awt.Dimension(1460, 86)); 715: srcIpFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 716: srcIpFlag1.setText("-S <src ip>"); 717: srcIpFlag1.addActionListener(new java.awt.event.ActionListener() { 718: public void actionPerformed(java.awt.event.ActionEvent evt) { 719: srcIpFlag1ActionPerformed(evt); 720: } 721: }); 722: 723: jPanel5.add(srcIpFlag1); 724: 725: srcIpField1.setEditable(false); 726: srcIpField1.setToolTipText("Enter The Source IP Address"); 727: srcIpField1.setMinimumSize(new java.awt.Dimension(97, 20)); 728: srcIpField1.setPreferredSize(new java.awt.Dimension(100, 20)); 729: jPanel5.add(srcIpField1); 730: 731: dstIpFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 732: dstIpFlag1.setText("-D <dst ip>"); 733: dstIpFlag1.addActionListener(new java.awt.event.ActionListener() { 734: public void actionPerformed(java.awt.event.ActionEvent evt) { 735: dstIpFlag1ActionPerformed(evt); 736: } 737: }); 738: 739: jPanel5.add(dstIpFlag1); 740: 741: dstIpField1.setEditable(false); 742: dstIpField1.setToolTipText("Enter The Destination IP Address"); 743: dstIpField1.setMinimumSize(new java.awt.Dimension(97, 20)); 744: dstIpField1.setPreferredSize(new java.awt.Dimension(100, 20)); 745: jPanel5.add(dstIpField1); 746: 747: ipIdFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 748: ipIdFlag1.setText("-I <ip id>"); 749: ipIdFlag1.addActionListener(new java.awt.event.ActionListener() { 750: public void actionPerformed(java.awt.event.ActionEvent evt) { 751: ipIdFlag1ActionPerformed(evt); 752: } 753: }); 754: 755: jPanel5.add(ipIdFlag1); 756: 757: ipIdField1.setEditable(false); 758: ipIdField1.setToolTipText("Enter the IP ID number"); 759: ipIdField1.setMinimumSize(new java.awt.Dimension(32, 20)); 760: ipIdField1.setPreferredSize(new java.awt.Dimension(32, 20)); 761: jPanel5.add(ipIdField1); 762: 763: ttlFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 764: ttlFlag1.setText(" -T <ttl>"); 765: ttlFlag1.addActionListener(new java.awt.event.ActionListener() { 766: public void actionPerformed(java.awt.event.ActionEvent evt) { 767: ttlFlag1ActionPerformed(evt); 768: } 769: }); 770: 771: jPanel5.add(ttlFlag1); 772: 773: ttlField1.setEditable(false); 774: ttlField1.setMinimumSize(new java.awt.Dimension(60, 20)); 775: ttlField1.setPreferredSize(new java.awt.Dimension(40, 20)); 776: jPanel5.add(ttlField1); 777: 778: tosFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 779: tosFlag1.setText("-t <tos>"); 780: tosFlag1.addActionListener(new java.awt.event.ActionListener() { 781: public void actionPerformed(java.awt.event.ActionEvent evt) { 782: tosFlag1ActionPerformed(evt); 783: } 784: }); 785: 786: jPanel5.add(tosFlag1); 787: 788: tosField1.setEditable(false); 789: tosField1.setToolTipText("Enter TOS"); 790: tosField1.setMinimumSize(new java.awt.Dimension(50, 20)); 791: tosField1.setPreferredSize(new java.awt.Dimension(50, 20)); 792: jPanel5.add(tosField1); 793: 794: fragOffSetFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 795: fragOffSetFlag1.setText("-F <frag offset>"); 796: fragOffSetFlag1.addActionListener(new java.awt.event.ActionListener() { 797: public void actionPerformed(java.awt.event.ActionEvent evt) { 798: fragOffSetFlag1ActionPerformed(evt); 799: } 800: }); 801: 802: jPanel5.add(fragOffSetFlag1); 803: 804: fragOffSetField1.setEditable(false); 805: fragOffSetField1.setToolTipText("Enter the fragmentation off set"); 806: fragOffSetField1.setMinimumSize(new java.awt.Dimension(50, 20)); 807: fragOffSetField1.setPreferredSize(new java.awt.Dimension(50, 20)); 808: jPanel5.add(fragOffSetField1); 809: 810: ipOptFileBox1.setFont(new java.awt.Font("Dialog", 0, 12)); 811: ipOptFileBox1.setText("-O <IP Options File>"); 812: ipOptFileBox1.addActionListener(new java.awt.event.ActionListener() { 813: public void actionPerformed(java.awt.event.ActionEvent evt) { 814: ipOptFileBox1ActionPerformed(evt); 815: } 816: }); 817: 818: jPanel5.add(ipOptFileBox1); 819: 820: ipOptFileField1.setEditable(false); 821: ipOptFileField1.setToolTipText("/path/to/ip/options/file"); 822: ipOptFileField1.setPreferredSize(new java.awt.Dimension(250, 20)); 823: jPanel5.add(ipOptFileField1); 824: 825: ipOptionsFileChooser1.setFont(new java.awt.Font("Dialog", 0, 12)); 826: ipOptionsFileChooser1.setText("../"); 827: ipOptionsFileChooser1.addActionListener(new java.awt.event.ActionListener() { 828: public void actionPerformed(java.awt.event.ActionEvent evt) { 829: ipOptionsFileChooser1ActionPerformed(evt); 830: } 831: }); 832: 833: jPanel5.add(ipOptionsFileChooser1); 834: 835: udpPanel.add(jPanel5, java.awt.BorderLayout.CENTER); 836: 837: jPanel6.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2)); 838: 839: jPanel6.setBorder(new javax.swing.border.TitledBorder(null, "Data Link Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 840: jPanel6.setMaximumSize(new java.awt.Dimension(32767, 52)); 841: jPanel6.setMinimumSize(new java.awt.Dimension(545, 52)); 842: jPanel6.setPreferredSize(new java.awt.Dimension(545, 52)); 843: ethDevFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 844: ethDevFlag1.setText("-d <Ethernet Device>"); 845: ethDevFlag1.addActionListener(new java.awt.event.ActionListener() { 846: public void actionPerformed(java.awt.event.ActionEvent evt) { 847: ethDevFlag1ActionPerformed(evt); 848: } 849: }); 850: 851: jPanel6.add(ethDevFlag1); 852: 853: ethDevField1.setEditable(false); 854: ethDevField1.setToolTipText("Enter the ethernet device you want to use"); 855: ethDevField1.setMinimumSize(new java.awt.Dimension(63, 20)); 856: ethDevField1.setPreferredSize(new java.awt.Dimension(63, 20)); 857: jPanel6.add(ethDevField1); 858: 859: srcMacFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 860: srcMacFlag1.setText("-H"); 861: srcMacFlag1.setToolTipText("Source Mac Address"); 862: srcMacFlag1.addActionListener(new java.awt.event.ActionListener() { 863: public void actionPerformed(java.awt.event.ActionEvent evt) { 864: srcMacFlag1ActionPerformed(evt); 865: } 866: }); 867: 868: jPanel6.add(srcMacFlag1); 869: 870: srcMacField1.setEditable(false); 871: srcMacField1.setToolTipText("Source Mac Address"); 872: srcMacField1.setMinimumSize(new java.awt.Dimension(100, 20)); 873: srcMacField1.setPreferredSize(new java.awt.Dimension(100, 20)); 874: jPanel6.add(srcMacField1); 875: 876: dstMacFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 877: dstMacFlag1.setText("-M"); 878: dstMacFlag1.setToolTipText("Destination Mac Address"); 879: dstMacFlag1.addActionListener(new java.awt.event.ActionListener() { 880: public void actionPerformed(java.awt.event.ActionEvent evt) { 881: dstMacFlag1ActionPerformed(evt); 882: } 883: }); 884: 885: jPanel6.add(dstMacFlag1); 886: 887: dstMacField1.setEditable(false); 888: dstMacField1.setToolTipText("Destination Mac Address"); 889: dstMacField1.setMinimumSize(new java.awt.Dimension(100, 20)); 890: dstMacField1.setPreferredSize(new java.awt.Dimension(100, 20)); 891: jPanel6.add(dstMacField1); 892: 893: udpPanel.add(jPanel6, java.awt.BorderLayout.SOUTH); 894: 895: jtabbedPane1.addTab("UDP", udpPanel); 896: 897: icmpPanel.setLayout(new java.awt.BorderLayout()); 898: 899: jPanel8.setLayout(new java.awt.BorderLayout()); 900: 901: jPanel8.setMaximumSize(new java.awt.Dimension(32767, 150)); 902: jPanel8.setMinimumSize(new java.awt.Dimension(20, 150)); 903: jPanel8.setPreferredSize(new java.awt.Dimension(20, 150)); 904: jTabbedPane2.setFont(new java.awt.Font("Dialog", 0, 12)); 905: jPanel11.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 906: 907: icmpCodeFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 908: icmpCodeFlag1.setText("-c ICMP-code"); 909: icmpCodeFlag1.setToolTipText("-c ICMP-code"); 910: icmpCodeFlag1.addActionListener(new java.awt.event.ActionListener() { 911: public void actionPerformed(java.awt.event.ActionEvent evt) { 912: icmpCodeFlag1ActionPerformed(evt); 913: } 914: }); 915: 916: jPanel11.add(icmpCodeFlag1); 917: 918: icmpCodeField1.setEditable(false); 919: icmpCodeField1.setToolTipText("Specify ICMP-code within the ICMP header"); 920: icmpCodeField1.setMaximumSize(new java.awt.Dimension(25, 2147483647)); 921: icmpCodeField1.setMinimumSize(new java.awt.Dimension(25, 19)); 922: icmpCodeField1.setPreferredSize(new java.awt.Dimension(25, 19)); 923: jPanel11.add(icmpCodeField1); 924: 925: icmpIDFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 926: icmpIDFlag1.setText("-e ICMP-ID"); 927: icmpIDFlag1.setToolTipText("-e ICMP-ID"); 928: icmpIDFlag1.addActionListener(new java.awt.event.ActionListener() { 929: public void actionPerformed(java.awt.event.ActionEvent evt) { 930: icmpIDFlag1ActionPerformed(evt); 931: } 932: }); 933: 934: jPanel11.add(icmpIDFlag1); 935: 936: icmpIDField1.setEditable(false); 937: icmpIDField1.setToolTipText("Specify the ICMP-ID within the ICMP header."); 938: icmpIDField1.setMaximumSize(new java.awt.Dimension(30, 2147483647)); 939: icmpIDField1.setMinimumSize(new java.awt.Dimension(30, 19)); 940: icmpIDField1.setPreferredSize(new java.awt.Dimension(30, 19)); 941: jPanel11.add(icmpIDField1); 942: 943: icmpTypeFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 944: icmpTypeFlag1.setText("-i ICMP-type"); 945: icmpTypeFlag1.setToolTipText("-i ICMP-type"); 946: icmpTypeFlag1.addActionListener(new java.awt.event.ActionListener() { 947: public void actionPerformed(java.awt.event.ActionEvent evt) { 948: icmpTypeFlag1ActionPerformed(evt); 949: } 950: }); 951: 952: jPanel11.add(icmpTypeFlag1); 953: 954: icmpTypeField1.setEditable(false); 955: icmpTypeField1.setToolTipText("Specify the ICMP-type within the ICMP header."); 956: icmpTypeField1.setMaximumSize(new java.awt.Dimension(25, 2147483647)); 957: icmpTypeField1.setMinimumSize(new java.awt.Dimension(25, 19)); 958: icmpTypeField1.setPreferredSize(new java.awt.Dimension(25, 19)); 959: jPanel11.add(icmpTypeField1); 960: 961: prefGatewayFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 962: prefGatewayFlag1.setText("-G"); 963: prefGatewayFlag1.setToolTipText("-G preferred-gateway"); 964: prefGatewayFlag1.addActionListener(new java.awt.event.ActionListener() { 965: public void actionPerformed(java.awt.event.ActionEvent evt) { 966: prefGatewayFlag1ActionPerformed(evt); 967: } 968: }); 969: 970: jPanel11.add(prefGatewayFlag1); 971: 972: prefGatewayField1.setEditable(false); 973: prefGatewayField1.setToolTipText("Specify the preferred-gateway-IP-address for ICMP redirect injections."); 974: prefGatewayField1.setMaximumSize(new java.awt.Dimension(110, 2147483647)); 975: prefGatewayField1.setMinimumSize(new java.awt.Dimension(110, 19)); 976: prefGatewayField1.setPreferredSize(new java.awt.Dimension(110, 19)); 977: jPanel11.add(prefGatewayField1); 978: 979: icmpMaskFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 980: icmpMaskFlag1.setText("-m mask"); 981: icmpMaskFlag1.setToolTipText("-m address-mask"); 982: icmpMaskFlag1.addActionListener(new java.awt.event.ActionListener() { 983: public void actionPerformed(java.awt.event.ActionEvent evt) { 984: icmpMaskFlag1ActionPerformed(evt); 985: } 986: }); 987: 988: jPanel11.add(icmpMaskFlag1); 989: 990: icmpMaskField1.setEditable(false); 991: icmpMaskField1.setToolTipText("Specify the IP-address-mask for ICMP address mask packets."); 992: icmpMaskField1.setMaximumSize(new java.awt.Dimension(40, 2147483647)); 993: icmpMaskField1.setMinimumSize(new java.awt.Dimension(40, 19)); 994: icmpMaskField1.setPreferredSize(new java.awt.Dimension(40, 19)); 995: jPanel11.add(icmpMaskField1); 996: 997: icmpModeFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 998: icmpModeFlag1.setText("-q ICMP-injection-mode"); 999: icmpModeFlag1.setToolTipText("-q ICMP-injection-mode"); 1000: icmpModeFlag1.addActionListener(new java.awt.event.ActionListener() { 1001: public void actionPerformed(java.awt.event.ActionEvent evt) { 1002: icmpModeFlag1ActionPerformed(evt); 1003: } 1004: }); 1005: 1006: jPanel11.add(icmpModeFlag1); 1007: 1008: icmpModeCBox1.setFont(new java.awt.Font("Dialog", 0, 10)); 1009: icmpModeCBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "NONE", "-qE (ICMP echo)", "-qM (ICMP address mask)", "-qU (ICMP unreachable)", "-qX (ICMP time exceeded)", "-qR (ICMP redirect)", "-qT (ICMP timestamp)" })); 1010: icmpModeCBox1.setToolTipText("Specify the ICMP-injection-mode to use when injecting."); 1011: icmpModeCBox1.setMinimumSize(new java.awt.Dimension(140, 22)); 1012: icmpModeCBox1.setPreferredSize(new java.awt.Dimension(140, 22)); 1013: icmpModeCBox1.setEnabled(false); 1014: jPanel11.add(icmpModeCBox1); 1015: 1016: icmpSeqNumFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1017: icmpSeqNumFlag1.setText("-s"); 1018: icmpSeqNumFlag1.setToolTipText("-s ICMP-sequence-number"); 1019: icmpSeqNumFlag1.addActionListener(new java.awt.event.ActionListener() { 1020: public void actionPerformed(java.awt.event.ActionEvent evt) { 1021: icmpSeqNumFlag1ActionPerformed(evt); 1022: } 1023: }); 1024: 1025: jPanel11.add(icmpSeqNumFlag1); 1026: 1027: icmpSeqNumField1.setEditable(false); 1028: icmpSeqNumField1.setToolTipText("Specify the ICMP-sequence-number within the ICMP header."); 1029: icmpSeqNumField1.setMaximumSize(new java.awt.Dimension(35, 2147483647)); 1030: icmpSeqNumField1.setMinimumSize(new java.awt.Dimension(35, 19)); 1031: icmpSeqNumField1.setPreferredSize(new java.awt.Dimension(35, 19)); 1032: jPanel11.add(icmpSeqNumField1); 1033: 1034: payloadBox3.setFont(new java.awt.Font("Dialog", 0, 12)); 1035: payloadBox3.setText("-P <Payload File> "); 1036: payloadBox3.setToolTipText("Payload File"); 1037: payloadBox3.addActionListener(new java.awt.event.ActionListener() { 1038: public void actionPerformed(java.awt.event.ActionEvent evt) { 1039: payloadBox3ActionPerformed(evt); 1040: } 1041: }); 1042: 1043: jPanel11.add(payloadBox3); 1044: 1045: payloadField3.setEditable(false); 1046: payloadField3.setToolTipText("path/to/payload/file"); 1047: payloadField3.setMinimumSize(new java.awt.Dimension(200, 20)); 1048: payloadField3.setPreferredSize(new java.awt.Dimension(250, 20)); 1049: payloadField3.addActionListener(new java.awt.event.ActionListener() { 1050: public void actionPerformed(java.awt.event.ActionEvent evt) { 1051: payloadField3ActionPerformed(evt); 1052: } 1053: }); 1054: 1055: jPanel11.add(payloadField3); 1056: 1057: payloadFileChooser2.setText("../"); 1058: jPanel11.add(payloadFileChooser2); 1059: 1060: jTabbedPane2.addTab("ICMP Options", jPanel11); 1061: 1062: jPanel13.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 1063: 1064: icmpTRRTTFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1065: icmpTRRTTFlag1.setText("-a ICMP-timestamp-request-reply-transmit-time"); 1066: icmpTRRTTFlag1.addActionListener(new java.awt.event.ActionListener() { 1067: public void actionPerformed(java.awt.event.ActionEvent evt) { 1068: icmpTRRTTFlag1ActionPerformed(evt); 1069: } 1070: }); 1071: 1072: jPanel13.add(icmpTRRTTFlag1); 1073: 1074: icmpTRRTTField1.setEditable(false); 1075: icmpTRRTTField1.setToolTipText("Specify the ICMP-timestamp-request-reply-transmit-time within the ICMP timestamp header."); 1076: icmpTRRTTField1.setMinimumSize(new java.awt.Dimension(60, 19)); 1077: icmpTRRTTField1.setPreferredSize(new java.awt.Dimension(60, 19)); 1078: jPanel13.add(icmpTRRTTField1); 1079: 1080: icmpTRTTFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1081: icmpTRTTFlag1.setText("-o ICMP-timestamp-request-transmit-time"); 1082: icmpTRTTFlag1.addActionListener(new java.awt.event.ActionListener() { 1083: public void actionPerformed(java.awt.event.ActionEvent evt) { 1084: icmpTRTTFlag1ActionPerformed(evt); 1085: } 1086: }); 1087: 1088: jPanel13.add(icmpTRTTFlag1); 1089: 1090: icmpTRTTField1.setEditable(false); 1091: icmpTRTTField1.setToolTipText("Specify the ICMP-timestamp-request-transmit-time within the ICMP timestamp header."); 1092: icmpTRTTField1.setMinimumSize(new java.awt.Dimension(60, 19)); 1093: icmpTRTTField1.setPreferredSize(new java.awt.Dimension(60, 19)); 1094: jPanel13.add(icmpTRTTField1); 1095: 1096: icmpTRRRTFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1097: icmpTRRRTFlag1.setText("-r ICMP-timestamp-request-reply-received-time"); 1098: icmpTRRRTFlag1.addActionListener(new java.awt.event.ActionListener() { 1099: public void actionPerformed(java.awt.event.ActionEvent evt) { 1100: icmpTRRRTFlag1ActionPerformed(evt); 1101: } 1102: }); 1103: 1104: jPanel13.add(icmpTRRRTFlag1); 1105: 1106: icmpTRRRTField1.setEditable(false); 1107: icmpTRRRTField1.setToolTipText("Specify the ICMP-timestamp-request-reply-received-time within the ICMP timestamp header."); 1108: icmpTRRRTField1.setMinimumSize(new java.awt.Dimension(60, 19)); 1109: icmpTRRRTField1.setPreferredSize(new java.awt.Dimension(60, 19)); 1110: jPanel13.add(icmpTRRRTField1); 1111: 1112: jTabbedPane2.addTab("Timestamp Options", jPanel13); 1113: 1114: jPanel14.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 1115: 1116: icmpDstIPFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1117: icmpDstIPFlag1.setText("-b <dst IP address>"); 1118: icmpDstIPFlag1.setToolTipText("-b original-destination-IP-address"); 1119: icmpDstIPFlag1.addActionListener(new java.awt.event.ActionListener() { 1120: public void actionPerformed(java.awt.event.ActionEvent evt) { 1121: icmpDstIPFlag1ActionPerformed(evt); 1122: } 1123: }); 1124: 1125: jPanel14.add(icmpDstIPFlag1); 1126: 1127: icmpDstIPField1.setEditable(false); 1128: icmpDstIPField1.setToolTipText("Specify the original-destination-IP-address within an ICMP unreachable, redirect or time exceeded packet."); 1129: icmpDstIPField1.setMinimumSize(new java.awt.Dimension(100, 19)); 1130: icmpDstIPField1.setPreferredSize(new java.awt.Dimension(100, 19)); 1131: jPanel14.add(icmpDstIPField1); 1132: 1133: icmpSrcIPFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1134: icmpSrcIPFlag1.setText("-B <src IP address>"); 1135: icmpSrcIPFlag1.setToolTipText("-B original-source-IP-address"); 1136: icmpSrcIPFlag1.addActionListener(new java.awt.event.ActionListener() { 1137: public void actionPerformed(java.awt.event.ActionEvent evt) { 1138: icmpSrcIPFlag1ActionPerformed(evt); 1139: } 1140: }); 1141: 1142: jPanel14.add(icmpSrcIPFlag1); 1143: 1144: icmpSrcIPField1.setEditable(false); 1145: icmpSrcIPField1.setToolTipText("Specify the original-source-IP-address within an ICMP unreachable, redirect or time exceeded packet."); 1146: icmpSrcIPField1.setMinimumSize(new java.awt.Dimension(100, 19)); 1147: icmpSrcIPField1.setPreferredSize(new java.awt.Dimension(100, 19)); 1148: jPanel14.add(icmpSrcIPField1); 1149: 1150: icmpFragOpsFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1151: icmpFragOpsFlag1.setText("-f <fragmentation options>"); 1152: icmpFragOpsFlag1.setToolTipText("-f original-fragmentation-options"); 1153: icmpFragOpsFlag1.addActionListener(new java.awt.event.ActionListener() { 1154: public void actionPerformed(java.awt.event.ActionEvent evt) { 1155: icmpFragOpsFlag1ActionPerformed(evt); 1156: } 1157: }); 1158: 1159: jPanel14.add(icmpFragOpsFlag1); 1160: 1161: icmpFragOpsField1.setEditable(false); 1162: icmpFragOpsField1.setToolTipText("Specify the original-IP-fragmentation-options within an ICMP unreachable, redirect or time exceeded packet."); 1163: icmpFragOpsField1.setMinimumSize(new java.awt.Dimension(50, 19)); 1164: icmpFragOpsField1.setPreferredSize(new java.awt.Dimension(50, 19)); 1165: jPanel14.add(icmpFragOpsField1); 1166: 1167: icmpIPTosFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1168: icmpIPTosFlag1.setText("-j IP-TOS"); 1169: icmpIPTosFlag1.setToolTipText("-j original-IP-TOS"); 1170: icmpIPTosFlag1.addActionListener(new java.awt.event.ActionListener() { 1171: public void actionPerformed(java.awt.event.ActionEvent evt) { 1172: icmpIPTosFlag1ActionPerformed(evt); 1173: } 1174: }); 1175: 1176: jPanel14.add(icmpIPTosFlag1); 1177: 1178: icmpIPTosField1.setEditable(false); 1179: icmpIPTosField1.setToolTipText("Specify the original-IP-type-of-service (TOS) within an ICMP unreachable, redirect or time exceeded packet."); 1180: icmpIPTosField1.setMinimumSize(new java.awt.Dimension(50, 19)); 1181: icmpIPTosField1.setPreferredSize(new java.awt.Dimension(50, 19)); 1182: jPanel14.add(icmpIPTosField1); 1183: 1184: icmpIPTtlFlag1.setFont(new java.awt.Font("Dialog", 0, 12)); 1185: icmpIPTtlFlag1.setText("-J IP-TTL"); 1186: icmpIPTtlFlag1.setToolTipText("-J original-IP-TTL"); 1187: icmpIPTtlFlag1.addActionListener(new java.awt.event.ActionListener() { 1188: public void actionPerformed(java.awt.event.ActionEvent evt) { 1189: icmpIPTtlFlag1ActionPerformed(evt); 1190: } 1191: }); 1192: 1193: jPanel14.add(icmpIPTtlFlag1); 1194: 1195: icmpIPTtlField1.setEditable(false); 1196: icmpIPTtlField1.setToolTipText("Specify the original-IP-time-to-live (TTL) within an ICMP unreachable, redirect or time exceeded packet."); 1197: icmpIPTtlField1.setMinimumSize(new java.awt.Dimension(50, 19)); 1198: icmpIPTtlField1.setPreferredSize(new java.awt.Dimension(50, 19)); 1199: jPanel14.add(icmpIPTtlField1); 1200: 1201: icmpIPOptsBox.setFont(new java.awt.Font("Dialog", 0, 12)); 1202: icmpIPOptsBox.setText("-l <IP-options file>"); 1203: icmpIPOptsBox.setToolTipText("-l original-IP-options-file"); 1204: icmpIPOptsBox.addActionListener(new java.awt.event.ActionListener() { 1205: public void actionPerformed(java.awt.event.ActionEvent evt) { 1206: icmpIPOptsBoxActionPerformed(evt); 1207: } 1208: }); 1209: 1210: jPanel14.add(icmpIPOptsBox); 1211: 1212: icmpIPOptsPayloadField.setEditable(false); 1213: icmpIPOptsPayloadField.setToolTipText("path/to/ip-options/file"); 1214: icmpIPOptsPayloadField.setMinimumSize(new java.awt.Dimension(200, 20)); 1215: icmpIPOptsPayloadField.setPreferredSize(new java.awt.Dimension(250, 20)); 1216: jPanel14.add(icmpIPOptsPayloadField); 1217: 1218: payloadFileChooser3.setText("../"); 1219: payloadFileChooser3.addActionListener(new java.awt.event.ActionListener() { 1220: public void actionPerformed(java.awt.event.ActionEvent evt) { 1221: payloadFileChooser3ActionPerformed(evt); 1222: } 1223: }); 1224: 1225: jPanel14.add(payloadFileChooser3); 1226: 1227: jTabbedPane2.addTab("Original Datagram Options", jPanel14); 1228: 1229: jPanel8.add(jTabbedPane2, java.awt.BorderLayout.CENTER); 1230: 1231: icmpPanel.add(jPanel8, java.awt.BorderLayout.NORTH); 1232: 1233: jPanel9.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3)); 1234: 1235: jPanel9.setBorder(new javax.swing.border.TitledBorder(null, "IP Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 1236: jPanel9.setMaximumSize(new java.awt.Dimension(32767, 56)); 1237: jPanel9.setMinimumSize(new java.awt.Dimension(1228, 86)); 1238: jPanel9.setPreferredSize(new java.awt.Dimension(1460, 86)); 1239: srcIpFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1240: srcIpFlag2.setText("-S <src ip>"); 1241: srcIpFlag2.addActionListener(new java.awt.event.ActionListener() { 1242: public void actionPerformed(java.awt.event.ActionEvent evt) { 1243: srcIpFlag2ActionPerformed(evt); 1244: } 1245: }); 1246: 1247: jPanel9.add(srcIpFlag2); 1248: 1249: srcIpField2.setEditable(false); 1250: srcIpField2.setToolTipText("Enter The Source IP Address"); 1251: srcIpField2.setMinimumSize(new java.awt.Dimension(97, 20)); 1252: srcIpField2.setPreferredSize(new java.awt.Dimension(100, 20)); 1253: jPanel9.add(srcIpField2); 1254: 1255: dstIpFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1256: dstIpFlag2.setText("-D <dst ip>"); 1257: dstIpFlag2.addActionListener(new java.awt.event.ActionListener() { 1258: public void actionPerformed(java.awt.event.ActionEvent evt) { 1259: dstIpFlag2ActionPerformed(evt); 1260: } 1261: }); 1262: 1263: jPanel9.add(dstIpFlag2); 1264: 1265: dstIpField2.setEditable(false); 1266: dstIpField2.setToolTipText("Enter The Destination IP Address"); 1267: dstIpField2.setMinimumSize(new java.awt.Dimension(97, 20)); 1268: dstIpField2.setPreferredSize(new java.awt.Dimension(100, 20)); 1269: jPanel9.add(dstIpField2); 1270: 1271: ipIdFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1272: ipIdFlag2.setText("-I <ip id>"); 1273: ipIdFlag2.addActionListener(new java.awt.event.ActionListener() { 1274: public void actionPerformed(java.awt.event.ActionEvent evt) { 1275: ipIdFlag2ActionPerformed(evt); 1276: } 1277: }); 1278: 1279: jPanel9.add(ipIdFlag2); 1280: 1281: ipIdField2.setEditable(false); 1282: ipIdField2.setToolTipText("Enter the IP ID number"); 1283: ipIdField2.setMinimumSize(new java.awt.Dimension(32, 20)); 1284: ipIdField2.setPreferredSize(new java.awt.Dimension(32, 20)); 1285: jPanel9.add(ipIdField2); 1286: 1287: ttlFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1288: ttlFlag2.setText(" -T <ttl>"); 1289: ttlFlag2.addActionListener(new java.awt.event.ActionListener() { 1290: public void actionPerformed(java.awt.event.ActionEvent evt) { 1291: ttlFlag2ActionPerformed(evt); 1292: } 1293: }); 1294: 1295: jPanel9.add(ttlFlag2); 1296: 1297: ttlField2.setEditable(false); 1298: ttlField2.setMinimumSize(new java.awt.Dimension(60, 20)); 1299: ttlField2.setPreferredSize(new java.awt.Dimension(40, 20)); 1300: jPanel9.add(ttlField2); 1301: 1302: tosFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1303: tosFlag2.setText("-t <tos>"); 1304: tosFlag2.addActionListener(new java.awt.event.ActionListener() { 1305: public void actionPerformed(java.awt.event.ActionEvent evt) { 1306: tosFlag2ActionPerformed(evt); 1307: } 1308: }); 1309: 1310: jPanel9.add(tosFlag2); 1311: 1312: tosField2.setEditable(false); 1313: tosField2.setToolTipText("Enter TOS"); 1314: tosField2.setMinimumSize(new java.awt.Dimension(50, 20)); 1315: tosField2.setPreferredSize(new java.awt.Dimension(50, 20)); 1316: jPanel9.add(tosField2); 1317: 1318: fragOffSetFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1319: fragOffSetFlag2.setText("-F <frag offset>"); 1320: fragOffSetFlag2.addActionListener(new java.awt.event.ActionListener() { 1321: public void actionPerformed(java.awt.event.ActionEvent evt) { 1322: fragOffSetFlag2ActionPerformed(evt); 1323: } 1324: }); 1325: 1326: jPanel9.add(fragOffSetFlag2); 1327: 1328: fragOffSetField2.setEditable(false); 1329: fragOffSetField2.setToolTipText("Enter the fragmentation off set"); 1330: fragOffSetField2.setMinimumSize(new java.awt.Dimension(50, 20)); 1331: fragOffSetField2.setPreferredSize(new java.awt.Dimension(50, 20)); 1332: jPanel9.add(fragOffSetField2); 1333: 1334: ipOptFileBox2.setFont(new java.awt.Font("Dialog", 0, 12)); 1335: ipOptFileBox2.setText("-O <IP Options File>"); 1336: ipOptFileBox2.addActionListener(new java.awt.event.ActionListener() { 1337: public void actionPerformed(java.awt.event.ActionEvent evt) { 1338: ipOptFileBox2ActionPerformed(evt); 1339: } 1340: }); 1341: 1342: jPanel9.add(ipOptFileBox2); 1343: 1344: ipOptFileField2.setEditable(false); 1345: ipOptFileField2.setToolTipText("/path/to/ip/options/file"); 1346: ipOptFileField2.setPreferredSize(new java.awt.Dimension(250, 20)); 1347: jPanel9.add(ipOptFileField2); 1348: 1349: ipOptionsFileChooser2.setFont(new java.awt.Font("Dialog", 0, 12)); 1350: ipOptionsFileChooser2.setText("../"); 1351: ipOptionsFileChooser2.addActionListener(new java.awt.event.ActionListener() { 1352: public void actionPerformed(java.awt.event.ActionEvent evt) { 1353: ipOptionsFileChooser2ActionPerformed(evt); 1354: } 1355: }); 1356: 1357: jPanel9.add(ipOptionsFileChooser2); 1358: 1359: icmpPanel.add(jPanel9, java.awt.BorderLayout.CENTER); 1360: 1361: jPanel10.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2)); 1362: 1363: jPanel10.setBorder(new javax.swing.border.TitledBorder(null, "Data Link Options", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Lucida Sans", 0, 11))); 1364: jPanel10.setPreferredSize(new java.awt.Dimension(545, 52)); 1365: ethDevFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1366: ethDevFlag2.setText("-d <Ethernet Device>"); 1367: ethDevFlag2.addActionListener(new java.awt.event.ActionListener() { 1368: public void actionPerformed(java.awt.event.ActionEvent evt) { 1369: ethDevFlag2ActionPerformed(evt); 1370: } 1371: }); 1372: 1373: jPanel10.add(ethDevFlag2); 1374: 1375: ethDevField2.setEditable(false); 1376: ethDevField2.setToolTipText("Enter the ethernet device you want to use"); 1377: ethDevField2.setMinimumSize(new java.awt.Dimension(63, 20)); 1378: ethDevField2.setPreferredSize(new java.awt.Dimension(63, 20)); 1379: jPanel10.add(ethDevField2); 1380: 1381: srcMacFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1382: srcMacFlag2.setText("-H"); 1383: srcMacFlag2.setToolTipText("Source Mac Address"); 1384: srcMacFlag2.addActionListener(new java.awt.event.ActionListener() { 1385: public void actionPerformed(java.awt.event.ActionEvent evt) { 1386: srcMacFlag2ActionPerformed(evt); 1387: } 1388: }); 1389: 1390: jPanel10.add(srcMacFlag2); 1391: 1392: srcMacField2.setEditable(false); 1393: srcMacField2.setToolTipText("Source Mac Address"); 1394: srcMacField2.setMinimumSize(new java.awt.Dimension(100, 20)); 1395: srcMacField2.setPreferredSize(new java.awt.Dimension(100, 20)); 1396: jPanel10.add(srcMacField2); 1397: 1398: dstMacFlag2.setFont(new java.awt.Font("Dialog", 0, 12)); 1399: dstMacFlag2.setText("-M"); 1400: dstMacFlag2.setToolTipText("Destination Mac Address"); 1401: dstMacFlag2.addActionListener(new java.awt.event.ActionListener() { 1402: public void actionPerformed(java.awt.event.ActionEvent evt) { 1403: dstMacFlag2ActionPerformed(evt); 1404: } 1405: }); 1406: 1407: jPanel10.add(dstMacFlag2); 1408: 1409: dstMacField2.setEditable(false); 1410: dstMacField2.setToolTipText("Destination Mac Address"); 1411: dstMacField2.setMinimumSize(new java.awt.Dimension(100, 20)); 1412: dstMacField2.setPreferredSize(new java.awt.Dimension(100, 20)); 1413: jPanel10.add(dstMacField2); 1414: 1415: icmpPanel.add(jPanel10, java.awt.BorderLayout.SOUTH); 1416: 1417: jtabbedPane1.addTab("ICMP", icmpPanel); 1418: 1419: queuePanel.setLayout(new java.awt.BorderLayout()); 1420: 1421: queuedList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); 1422: jScrollPane1.setViewportView(queuedList); 1423: 1424: queuePanel.add(jScrollPane1, java.awt.BorderLayout.CENTER); 1425: 1426: injectNext.setFont(new java.awt.Font("Dialog", 0, 12)); 1427: injectNext.setText("Inject Selected"); 1428: injectNext.addActionListener(new java.awt.event.ActionListener() { 1429: public void actionPerformed(java.awt.event.ActionEvent evt) { 1430: injectNextActionPerformed(evt); 1431: } 1432: }); 1433: 1434: jPanel16.add(injectNext); 1435: 1436: injectAll.setFont(new java.awt.Font("Dialog", 0, 12)); 1437: injectAll.setText("Inject All"); 1438: injectAll.addActionListener(new java.awt.event.ActionListener() { 1439: public void actionPerformed(java.awt.event.ActionEvent evt) { 1440: injectAllActionPerformed(evt); 1441: } 1442: }); 1443: 1444: jPanel16.add(injectAll); 1445: 1446: rmSelected.setFont(new java.awt.Font("Dialog", 0, 12)); 1447: rmSelected.setText("Remove Selected"); 1448: rmSelected.addActionListener(new java.awt.event.ActionListener() { 1449: public void actionPerformed(java.awt.event.ActionEvent evt) { 1450: rmSelectedActionPerformed(evt); 1451: } 1452: }); 1453: 1454: jPanel16.add(rmSelected); 1455: 1456: rmAll.setFont(new java.awt.Font("Dialog", 0, 12)); 1457: rmAll.setText("Remove All"); 1458: rmAll.addActionListener(new java.awt.event.ActionListener() { 1459: public void actionPerformed(java.awt.event.ActionEvent evt) { 1460: rmAllActionPerformed(evt); 1461: } 1462: }); 1463: 1464: jPanel16.add(rmAll); 1465: 1466: saveQueue.setFont(new java.awt.Font("Dialog", 0, 12)); 1467: saveQueue.setText("Save"); 1468: saveQueue.addActionListener(new java.awt.event.ActionListener() { 1469: public void actionPerformed(java.awt.event.ActionEvent evt) { 1470: saveQueueActionPerformed(evt); 1471: } 1472: }); 1473: 1474: jPanel16.add(saveQueue); 1475: 1476: queuePanel.add(jPanel16, java.awt.BorderLayout.NORTH); 1477: 1478: jtabbedPane1.addTab("Packet Queue", queuePanel); 1479: 1480: statusPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 1481: injectionResult.setBackground(new java.awt.Color(0, 0, 0)); 1482: injectionResult.setForeground(new java.awt.Color(255, 255, 255)); 1483: statusPane.setViewportView(injectionResult); 1484: 1485: jtabbedPane1.addTab("Result", statusPane); 1486: 1487: jPanel15.setLayout(new java.awt.BorderLayout()); 1488: 1489: tcpHelp.setEditable(false); 1490: tcpHelp.addHyperlinkListener(new javax.swing.event.HyperlinkListener() { 1491: public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) { 1492: tcpHelpHyperlinkUpdate(evt); 1493: } 1494: }); 1495: 1496: jScrollPane2.setViewportView(tcpHelp); 1497: 1498: help.addTab("nemesis-tcp", jScrollPane2); 1499: 1500: udpHelp.setEditable(false); 1501: udpHelp.addHyperlinkListener(new javax.swing.event.HyperlinkListener() { 1502: public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) { 1503: udpHelpHyperlinkUpdate(evt); 1504: } 1505: }); 1506: 1507: jScrollPane3.setViewportView(udpHelp); 1508: 1509: help.addTab("nemesis-udp", jScrollPane3); 1510: 1511: icmpHelp.setEditable(false); 1512: icmpHelp.addHyperlinkListener(new javax.swing.event.HyperlinkListener() { 1513: public void hyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) { 1514: icmpHelpHyperlinkUpdate(evt); 1515: } 1516: }); 1517: 1518: jScrollPane4.setViewportView(icmpHelp); 1519: 1520: help.addTab("nemesis-icmp", jScrollPane4); 1521: 1522: jPanel15.add(help, java.awt.BorderLayout.CENTER); 1523: 1524: jtabbedPane1.addTab("Help", jPanel15); 1525: 1526: jPanel17.setLayout(new java.awt.BorderLayout()); 1527: 1528: jPanel17.setBackground(new java.awt.Color(0, 0, 0)); 1529: jLabel2.setBackground(new java.awt.Color(0, 0, 0)); 1530: jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 1531: jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jnemesis/help/blackopscode.gif"))); 1532: jPanel17.add(jLabel2, java.awt.BorderLayout.CENTER); 1533: 1534: jLabel3.setFont(new java.awt.Font("Dialog", 0, 12)); 1535: jLabel3.setForeground(new java.awt.Color(255, 255, 255)); 1536: jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 1537: jLabel3.setText("Author: Florian Hines <fhines@blackopscode.com>\n"); 1538: jPanel17.add(jLabel3, java.awt.BorderLayout.NORTH); 1539: 1540: jLabel5.setForeground(new java.awt.Color(255, 255, 255)); 1541: jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 1542: jLabel5.setText("Released under the GPL LICENSE"); 1543: jPanel17.add(jLabel5, java.awt.BorderLayout.SOUTH); 1544: 1545: jtabbedPane1.addTab("About", jPanel17); 1546: 1547: masterPanel.add(jtabbedPane1, java.awt.BorderLayout.CENTER); 1548: 1549: controlPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); 1550: 1551: controlPanel.setMaximumSize(new java.awt.Dimension(32767, 35)); 1552: controlPanel.setMinimumSize(new java.awt.Dimension(10, 35)); 1553: controlPanel.setPreferredSize(new java.awt.Dimension(10, 35)); 1554: injectButton.setText("Inject Packet"); 1555: injectButton.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); 1556: injectButton.addActionListener(new java.awt.event.ActionListener() { 1557: public void actionPerformed(java.awt.event.ActionEvent evt) { 1558: injectButtonActionPerformed(evt); 1559: } 1560: }); 1561: 1562: controlPanel.add(injectButton); 1563: 1564: queuePacket.setFont(new java.awt.Font("Dialog", 0, 12)); 1565: queuePacket.setText("Queue"); 1566: queuePacket.addActionListener(new java.awt.event.ActionListener() { 1567: public void actionPerformed(java.awt.event.ActionEvent evt) { 1568: queuePacketActionPerformed(evt); 1569: } 1570: }); 1571: 1572: controlPanel.add(queuePacket); 1573: 1574: jLabel1.setFont(new java.awt.Font("Dialog", 0, 12)); 1575: jLabel1.setText("Status:"); 1576: controlPanel.add(jLabel1); 1577: 1578: statusField.setEditable(false); 1579: statusField.setText("READY"); 1580: statusField.setMinimumSize(new java.awt.Dimension(350, 19)); 1581: statusField.setPreferredSize(new java.awt.Dimension(320, 19)); 1582: controlPanel.add(statusField); 1583: 1584: masterPanel.add(controlPanel, java.awt.BorderLayout.SOUTH); 1585: 1586: getContentPane().add(masterPanel, java.awt.BorderLayout.CENTER); 1587: 1588: pack(); 1589: }//GEN-END:initComponents 1590: 1591: private void tcpHelpHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {//GEN-FIRST:event_tcpHelpHyperlinkUpdate 1592: if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 1593: try 1594: { 1595: tcpHelp.setPage(evt.getURL()); 1596: } 1597: catch(IOException e) 1598: { 1599: tcpHelp.setText("Exception: " + e + "\nUnable to load URL."); 1600: } 1601: } 1602: }//GEN-LAST:event_tcpHelpHyperlinkUpdate 1603: 1604: private void udpHelpHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {//GEN-FIRST:event_udpHelpHyperlinkUpdate 1605: if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 1606: try 1607: { 1608: udpHelp.setPage(evt.getURL()); 1609: } 1610: catch(IOException e) 1611: { 1612: udpHelp.setText("Exception: " + e + "\nUnable to load URL."); 1613: } 1614: } 1615: }//GEN-LAST:event_udpHelpHyperlinkUpdate 1616: 1617: private void icmpHelpHyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {//GEN-FIRST:event_icmpHelpHyperlinkUpdate 1618: // TODO add your handling code here: 1619: if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { 1620: try 1621: { 1622: icmpHelp.setPage(evt.getURL()); 1623: } 1624: catch(IOException e) 1625: { 1626: icmpHelp.setText("Exception: " + e + "\nUnable to load URL."); 1627: } 1628: } 1629: }//GEN-LAST:event_icmpHelpHyperlinkUpdate 1630: 1631: private void payloadFileChooser3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadFileChooser3ActionPerformed 1632: // TODO add your handling code here: 1633: if (icmpIPOptsBox.isSelected() == true){ 1634: icmpIPOptsPayloadField.setText(getPayloadFile()); 1635: } 1636: }//GEN-LAST:event_payloadFileChooser3ActionPerformed 1637: 1638: private void ipOptionsFileChooser2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptionsFileChooser2ActionPerformed 1639: // TODO add your handling code here: 1640: if (ipOptFileBox2.isSelected() == true){ 1641: ipOptFileField2.setText(getPayloadFile()); 1642: } 1643: }//GEN-LAST:event_ipOptionsFileChooser2ActionPerformed 1644: 1645: private void payloadField3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadField3ActionPerformed 1646: // TODO add your handling code here: 1647: if (payloadBox3.isSelected() == true){ 1648: payloadField3.setText(getPayloadFile()); 1649: } 1650: }//GEN-LAST:event_payloadField3ActionPerformed 1651: 1652: private void ipOptionsFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptionsFileChooser1ActionPerformed 1653: // TODO add your handling code here: 1654: if (ipOptFileBox1.isSelected() == true){ 1655: ipOptFileField1.setText(getPayloadFile()); 1656: } 1657: }//GEN-LAST:event_ipOptionsFileChooser1ActionPerformed 1658: 1659: private void payloadFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadFileChooser1ActionPerformed 1660: // TODO add your handling code here: 1661: if (payloadBox2.isSelected() == true){ 1662: payloadField2.setText(getPayloadFile()); 1663: } 1664: }//GEN-LAST:event_payloadFileChooser1ActionPerformed 1665: 1666: private void ipOptionsFileChooserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptionsFileChooserActionPerformed 1667: // TODO add your handling code here: 1668: if (ipOptFileBox.isSelected() == true){ 1669: ipOptFileField.setText(getPayloadFile()); 1670: } 1671: }//GEN-LAST:event_ipOptionsFileChooserActionPerformed 1672: 1673: private void payloadFileChooserActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadFileChooserActionPerformed 1674: // TODO add your handling code here: 1675: if (payloadBox1.isSelected() == true){ 1676: payloadField1.setText(getPayloadFile()); 1677: } 1678: }//GEN-LAST:event_payloadFileChooserActionPerformed 1679: 1680: private void tcpOpFileChooser1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcpOpFileChooser1ActionPerformed 1681: if (tcpOptBox1.isSelected() == true){ 1682: tcpOptField1.setText(getPayloadFile()); 1683: } 1684: }//GEN-LAST:event_tcpOpFileChooser1ActionPerformed 1685: 1686: private void saveQueueActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveQueueActionPerformed 1687: try { 1688: /* Create/open file for writing */ 1689: String saveFile = queueSave + "/nemesis.sh"; 1690: PrintWriter outputStream = 1691: new PrintWriter(new FileOutputStream(saveFile)); 1692: /* Get hashes from current watch list */ 1693: String shellLine = "#!" + queueShell; 1694: String versionLine = "#!-- Generated by jnemesis version 1.0 --!\n"; 1695: outputStream.println(shellLine); 1696: outputStream.println(versionLine); 1697: int listSize = queuedPackets.getSize(); 1698: if (listSize != 0){ 1699: String currentlySelected; 1700: int listEnd = listSize - 1; 1701: int index = 0; 1702: while (index <= listEnd ) { 1703: queuedList.setSelectedIndex(index); 1704: currentlySelected = (String)queuedList.getSelectedValue(); 1705: outputStream.println(nemesisPath + " " + currentlySelected); 1706: index++; 1707: } 1708: } 1709: outputStream.close(); 1710: } 1711: catch(IOException e) 1712: { 1713: System.out.println("Error writing to file " + queueSave); 1714: } 1715: }//GEN-LAST:event_saveQueueActionPerformed 1716: 1717: private void rmAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rmAllActionPerformed 1718: // TODO add your handling code here: 1719: queuedPackets.removeAllElements(); 1720: }//GEN-LAST:event_rmAllActionPerformed 1721: 1722: private void rmSelectedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rmSelectedActionPerformed 1723: String currentlySelected = (String)queuedList.getSelectedValue(); 1724: if (currentlySelected != null ){ 1725: queuedPackets.removeElement(currentlySelected); 1726: } 1727: }//GEN-LAST:event_rmSelectedActionPerformed 1728: 1729: private void injectAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_injectAllActionPerformed 1730: int listSize = queuedPackets.getSize(); 1731: if (listSize != 0){ 1732: String currentlySelected; 1733: int listEnd = listSize - 1; 1734: int index = 0; 1735: while (index <= listEnd ) { 1736: queuedList.setSelectedIndex(index); 1737: currentlySelected = (String)queuedList.getSelectedValue(); 1738: injectQueued(currentlySelected); 1739: index++; 1740: } 1741: } 1742: queuedPackets.removeAllElements(); 1743: //System.out.println(currentlySelected + " is currently selected."); 1744: }//GEN-LAST:event_injectAllActionPerformed 1745: 1746: private void ipOptFileBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptFileBox2ActionPerformed 1747: // TODO add your handling code here: 1748: if (ipOptFileBox2.isSelected() == true){ 1749: ipOptFileField2.setEditable(true); 1750: }else if (ipOptFileBox2.isSelected() == false){ 1751: ipOptFileField2.setEditable(false); 1752: } 1753: }//GEN-LAST:event_ipOptFileBox2ActionPerformed 1754: 1755: private void injectNextActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_injectNextActionPerformed 1756: // TODO add your handling code here: 1757: String currentlySelected = (String)queuedList.getSelectedValue(); 1758: if (currentlySelected != null ){ 1759: injectQueued(currentlySelected); 1760: queuedPackets.removeElement(currentlySelected); 1761: } 1762: //System.out.println(currentlySelected + " is currently selected."); 1763: }//GEN-LAST:event_injectNextActionPerformed 1764: 1765: private void queuePacketActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_queuePacketActionPerformed 1766: // TODO add your handling code here: 1767: if (tcpPanel.isShowing() == true){ 1768: parseNemesisArgsTCP(); 1769: setArgsTCP(); 1770: storePacket("tcp"); 1771: resetArgs(); 1772: } else if (udpPanel.isShowing() == true){ 1773: parseNemesisArgsUDP(); 1774: setArgsUDP(); 1775: storePacket("udp"); 1776: resetArgs(); 1777: } else if (icmpPanel.isShowing() == true){ 1778: parseNemesisArgsICMP(); 1779: setArgsICMP(); 1780: storePacket("icmp"); 1781: resetArgs(); 1782: } 1783: nemesisArgs = ""; 1784: }//GEN-LAST:event_queuePacketActionPerformed 1785: 1786: 1787: /*START ICMP TAB BUTTON ACTIONS */ 1788: 1789: private void icmpIPOptsBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpIPOptsBoxActionPerformed 1790: // TODO add your handling code here: 1791: if (icmpIPOptsBox.isSelected() == true){ 1792: icmpIPOptsPayloadField.setEditable(true); 1793: }else if (icmpIPOptsBox.isSelected() == false){ 1794: icmpIPOptsPayloadField.setEditable(false); 1795: } 1796: }//GEN-LAST:event_icmpIPOptsBoxActionPerformed 1797: 1798: private void icmpIPTtlFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpIPTtlFlag1ActionPerformed 1799: // TODO add your handling code here: 1800: if (icmpIPTtlFlag1.isSelected() == true){ 1801: icmpIPTtlField1.setEditable(true); 1802: }else if (icmpIPTtlFlag1.isSelected() == false){ 1803: icmpIPTtlField1.setEditable(false); 1804: } 1805: }//GEN-LAST:event_icmpIPTtlFlag1ActionPerformed 1806: 1807: private void icmpIPTosFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpIPTosFlag1ActionPerformed 1808: // TODO add your handling code here: 1809: if (icmpIPTosFlag1.isSelected() == true){ 1810: icmpIPTosField1.setEditable(true); 1811: }else if (icmpIPTosFlag1.isSelected() == false){ 1812: icmpIPTosField1.setEditable(false); 1813: } 1814: }//GEN-LAST:event_icmpIPTosFlag1ActionPerformed 1815: 1816: private void icmpFragOpsFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpFragOpsFlag1ActionPerformed 1817: // TODO add your handling code here: 1818: if (icmpFragOpsFlag1.isSelected() == true){ 1819: icmpFragOpsField1.setEditable(true); 1820: }else if (icmpFragOpsFlag1.isSelected() == false){ 1821: icmpFragOpsField1.setEditable(false); 1822: } 1823: }//GEN-LAST:event_icmpFragOpsFlag1ActionPerformed 1824: 1825: private void icmpSrcIPFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpSrcIPFlag1ActionPerformed 1826: // TODO add your handling code here: 1827: if (icmpSrcIPFlag1.isSelected() == true){ 1828: icmpSrcIPField1.setEditable(true); 1829: }else if (icmpSrcIPFlag1.isSelected() == false){ 1830: icmpSrcIPField1.setEditable(false); 1831: } 1832: }//GEN-LAST:event_icmpSrcIPFlag1ActionPerformed 1833: 1834: private void icmpDstIPFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpDstIPFlag1ActionPerformed 1835: // TODO add your handling code here: 1836: if (icmpDstIPFlag1.isSelected() == true){ 1837: icmpDstIPField1.setEditable(true); 1838: }else if (icmpDstIPFlag1.isSelected() == false){ 1839: icmpDstIPField1.setEditable(false); 1840: } 1841: }//GEN-LAST:event_icmpDstIPFlag1ActionPerformed 1842: 1843: private void icmpTRRRTFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpTRRRTFlag1ActionPerformed 1844: // TODO add your handling code here: 1845: if (icmpTRRRTFlag1.isSelected() == true){ 1846: icmpTRRRTField1.setEditable(true); 1847: }else if (icmpTRRRTFlag1.isSelected() == false){ 1848: icmpTRRRTField1.setEditable(false); 1849: } 1850: }//GEN-LAST:event_icmpTRRRTFlag1ActionPerformed 1851: 1852: private void icmpTRTTFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpTRTTFlag1ActionPerformed 1853: // TODO add your handling code here: 1854: if (icmpTRTTFlag1.isSelected() == true){ 1855: icmpTRTTField1.setEditable(true); 1856: }else if (icmpTRTTFlag1.isSelected() == false){ 1857: icmpTRTTField1.setEditable(false); 1858: } 1859: }//GEN-LAST:event_icmpTRTTFlag1ActionPerformed 1860: 1861: private void icmpTRRTTFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpTRRTTFlag1ActionPerformed 1862: // TODO add your handling code here: 1863: if (icmpTRRTTFlag1.isSelected() == true){ 1864: icmpTRRTTField1.setEditable(true); 1865: }else if (icmpTRRTTFlag1.isSelected() == false){ 1866: icmpTRRTTField1.setEditable(false); 1867: } 1868: }//GEN-LAST:event_icmpTRRTTFlag1ActionPerformed 1869: 1870: private void dstMacFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstMacFlag2ActionPerformed 1871: // TODO add your handling code here: 1872: if (dstMacFlag2.isSelected() == true){ 1873: dstMacField2.setEditable(true); 1874: }else if (dstMacFlag2.isSelected() == false){ 1875: dstMacField2.setEditable(false); 1876: } 1877: }//GEN-LAST:event_dstMacFlag2ActionPerformed 1878: 1879: private void srcMacFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcMacFlag2ActionPerformed 1880: // TODO add your handling code here: 1881: if (srcMacFlag2.isSelected() == true){ 1882: srcMacField2.setEditable(true); 1883: }else if (srcMacFlag2.isSelected() == false){ 1884: srcMacField2.setEditable(false); 1885: } 1886: }//GEN-LAST:event_srcMacFlag2ActionPerformed 1887: 1888: private void ethDevFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ethDevFlag2ActionPerformed 1889: // TODO add your handling code here: 1890: if (ethDevFlag2.isSelected() == true){ 1891: ethDevField2.setEditable(true); 1892: }else if (ethDevFlag2.isSelected() == false){ 1893: ethDevField2.setEditable(false); 1894: } 1895: }//GEN-LAST:event_ethDevFlag2ActionPerformed 1896: 1897: private void fragOffSetFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fragOffSetFlag2ActionPerformed 1898: // TODO add your handling code here: 1899: if (fragOffSetFlag2.isSelected() == true){ 1900: fragOffSetField2.setEditable(true); 1901: }else if (fragOffSetFlag2.isSelected() == false){ 1902: fragOffSetField2.setEditable(false); 1903: } 1904: }//GEN-LAST:event_fragOffSetFlag2ActionPerformed 1905: 1906: private void tosFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tosFlag2ActionPerformed 1907: // TODO add your handling code here: 1908: if (tosFlag2.isSelected() == true){ 1909: tosField2.setEditable(true); 1910: }else if (tosFlag2.isSelected() == false){ 1911: tosField2.setEditable(false); 1912: } 1913: }//GEN-LAST:event_tosFlag2ActionPerformed 1914: 1915: private void ttlFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ttlFlag2ActionPerformed 1916: // TODO add your handling code here: 1917: if (ttlFlag2.isSelected() == true){ 1918: ttlField2.setEditable(true); 1919: }else if (tosFlag2.isSelected() == false){ 1920: ttlField2.setEditable(false); 1921: } 1922: }//GEN-LAST:event_ttlFlag2ActionPerformed 1923: 1924: private void ipIdFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipIdFlag2ActionPerformed 1925: // TODO add your handling code here: 1926: if (ipIdFlag2.isSelected() == true){ 1927: ipIdField2.setEditable(true); 1928: }else if (ipIdFlag2.isSelected() == false){ 1929: ipIdField2.setEditable(false); 1930: } 1931: }//GEN-LAST:event_ipIdFlag2ActionPerformed 1932: 1933: private void dstIpFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstIpFlag2ActionPerformed 1934: // TODO add your handling code here: 1935: if (dstIpFlag2.isSelected() == true){ 1936: dstIpField2.setEditable(true); 1937: }else if (dstIpFlag2.isSelected() == false){ 1938: dstIpField2.setEditable(false); 1939: } 1940: }//GEN-LAST:event_dstIpFlag2ActionPerformed 1941: 1942: private void srcIpFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcIpFlag2ActionPerformed 1943: // TODO add your handling code here: 1944: if (srcIpFlag2.isSelected() == true){ 1945: srcIpField2.setEditable(true); 1946: }else if (srcIpFlag2.isSelected() == false){ 1947: srcIpField2.setEditable(false); 1948: } 1949: }//GEN-LAST:event_srcIpFlag2ActionPerformed 1950: 1951: private void payloadBox3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadBox3ActionPerformed 1952: // TODO add your handling code here: 1953: if (payloadBox3.isSelected() == true){ 1954: payloadField3.setEditable(true); 1955: }else if (payloadBox3.isSelected() == false){ 1956: payloadField3.setEditable(false); 1957: } 1958: }//GEN-LAST:event_payloadBox3ActionPerformed 1959: 1960: private void icmpSeqNumFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpSeqNumFlag1ActionPerformed 1961: // TODO add your handling code here: 1962: if (icmpSeqNumFlag1.isSelected() == true){ 1963: icmpSeqNumField1.setEditable(true); 1964: }else if (icmpSeqNumFlag1.isSelected() == false){ 1965: icmpSeqNumField1.setEditable(false); 1966: } 1967: }//GEN-LAST:event_icmpSeqNumFlag1ActionPerformed 1968: 1969: private void icmpModeFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpModeFlag1ActionPerformed 1970: // TODO add your handling code here: 1971: if (icmpModeFlag1.isSelected() == true){ 1972: icmpModeCBox1.setEnabled(true); 1973: }else if (icmpModeFlag1.isSelected() == false){ 1974: icmpModeCBox1.setEnabled(false); 1975: } 1976: }//GEN-LAST:event_icmpModeFlag1ActionPerformed 1977: 1978: private void icmpMaskFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpMaskFlag1ActionPerformed 1979: // TODO add your handling code here: 1980: if (icmpMaskFlag1.isSelected() == true){ 1981: icmpMaskField1.setEditable(true); 1982: }else if (icmpMaskFlag1.isSelected() == false){ 1983: icmpMaskField1.setEditable(false); 1984: } 1985: }//GEN-LAST:event_icmpMaskFlag1ActionPerformed 1986: 1987: private void prefGatewayFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_prefGatewayFlag1ActionPerformed 1988: // TODO add your handling code here: 1989: if (prefGatewayFlag1.isSelected() == true){ 1990: prefGatewayField1.setEditable(true); 1991: }else if (prefGatewayFlag1.isSelected() == false){ 1992: prefGatewayField1.setEditable(false); 1993: } 1994: }//GEN-LAST:event_prefGatewayFlag1ActionPerformed 1995: 1996: private void icmpTypeFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpTypeFlag1ActionPerformed 1997: // TODO add your handling code here: 1998: if (icmpTypeFlag1.isSelected() == true){ 1999: icmpTypeField1.setEditable(true); 2000: }else if (icmpTypeFlag1.isSelected() == false){ 2001: icmpTypeField1.setEditable(false); 2002: } 2003: }//GEN-LAST:event_icmpTypeFlag1ActionPerformed 2004: 2005: private void icmpIDFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpIDFlag1ActionPerformed 2006: // TODO add your handling code here: 2007: if (icmpIDFlag1.isSelected() == true){ 2008: icmpIDField1.setEditable(true); 2009: }else if (icmpIDFlag1.isSelected() == false){ 2010: icmpIDField1.setEditable(false); 2011: } 2012: }//GEN-LAST:event_icmpIDFlag1ActionPerformed 2013: 2014: private void icmpCodeFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_icmpCodeFlag1ActionPerformed 2015: // TODO add your handling code here: 2016: if (icmpCodeFlag1.isSelected() == true){ 2017: icmpCodeField1.setEditable(true); 2018: }else if (icmpCodeFlag1.isSelected() == false){ 2019: icmpCodeField1.setEditable(false); 2020: } 2021: }//GEN-LAST:event_icmpCodeFlag1ActionPerformed 2022: /* END ICMP TAB BUTTON ACTIONS */ 2023: 2024: /* START OF UDP TAB BUTTON ACTIONS */ 2025: private void dstMacFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstMacFlag1ActionPerformed 2026: // TODO add your handling code here: 2027: if (dstMacFlag1.isSelected() == true){ 2028: dstMacField1.setEditable(true); 2029: }else if (dstMacFlag1.isSelected() == false){ 2030: dstMacField1.setEditable(false); 2031: } 2032: }//GEN-LAST:event_dstMacFlag1ActionPerformed 2033: 2034: private void srcMacFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcMacFlag1ActionPerformed 2035: // TODO add your handling code here: 2036: if (srcMacFlag1.isSelected() == true){ 2037: srcMacField1.setEditable(true); 2038: }else if (srcMacFlag1.isSelected() == false){ 2039: srcMacField1.setEditable(false); 2040: } 2041: }//GEN-LAST:event_srcMacFlag1ActionPerformed 2042: 2043: private void ethDevFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ethDevFlag1ActionPerformed 2044: // TODO add your handling code here: 2045: if (ethDevFlag1.isSelected() == true){ 2046: ethDevField1.setEditable(true); 2047: }else if (ethDevFlag1.isSelected() == false){ 2048: ethDevField1.setEditable(false); 2049: } 2050: }//GEN-LAST:event_ethDevFlag1ActionPerformed 2051: 2052: private void ipOptFileBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptFileBox1ActionPerformed 2053: // TODO add your handling code here: 2054: if (ipOptFileBox1.isSelected() == true){ 2055: ipOptFileField1.setEditable(true); 2056: }else if (ipOptFileBox1.isSelected() == false){ 2057: ipOptFileField1.setEditable(false); 2058: } 2059: }//GEN-LAST:event_ipOptFileBox1ActionPerformed 2060: 2061: private void fragOffSetFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fragOffSetFlag1ActionPerformed 2062: // TODO add your handling code here: 2063: if (fragOffSetFlag1.isSelected() == true){ 2064: fragOffSetField1.setEditable(true); 2065: }else if (fragOffSetFlag1.isSelected() == false){ 2066: fragOffSetField1.setEditable(false); 2067: } 2068: }//GEN-LAST:event_fragOffSetFlag1ActionPerformed 2069: 2070: private void tosFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tosFlag1ActionPerformed 2071: // TODO add your handling code here: 2072: if (tosFlag1.isSelected() == true){ 2073: tosField1.setEditable(true); 2074: }else if (tosFlag1.isSelected() == false){ 2075: tosField1.setEditable(false); 2076: } 2077: }//GEN-LAST:event_tosFlag1ActionPerformed 2078: 2079: private void ttlFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ttlFlag1ActionPerformed 2080: // TODO add your handling code here: 2081: if (ttlFlag1.isSelected() == true){ 2082: ttlField1.setEditable(true); 2083: }else if (ttlFlag1.isSelected() == false){ 2084: ttlField1.setEditable(false); 2085: } 2086: }//GEN-LAST:event_ttlFlag1ActionPerformed 2087: 2088: private void ipIdFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipIdFlag1ActionPerformed 2089: // TODO add your handling code here: 2090: if (ipIdFlag1.isSelected() == true){ 2091: ipIdField1.setEditable(true); 2092: }else if (ipIdFlag1.isSelected() == false){ 2093: ipIdField1.setEditable(false); 2094: } 2095: }//GEN-LAST:event_ipIdFlag1ActionPerformed 2096: 2097: private void dstIpFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstIpFlag1ActionPerformed 2098: // TODO add your handling code here: 2099: if (dstIpFlag1.isSelected() == true){ 2100: dstIpField1.setEditable(true); 2101: }else if (dstIpFlag1.isSelected() == false){ 2102: dstIpField1.setEditable(false); 2103: } 2104: }//GEN-LAST:event_dstIpFlag1ActionPerformed 2105: 2106: private void srcIpFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcIpFlag1ActionPerformed 2107: // TODO add your handling code here: 2108: if (srcIpFlag1.isSelected() == true){ 2109: srcIpField1.setEditable(true); 2110: }else if (srcIpFlag1.isSelected() == false){ 2111: srcIpField1.setEditable(false); 2112: } 2113: }//GEN-LAST:event_srcIpFlag1ActionPerformed 2114: 2115: private void payloadBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadBox2ActionPerformed 2116: // TODO add your handling code here: 2117: if (payloadBox2.isSelected() == true){ 2118: payloadField2.setEditable(true); 2119: }else if (payloadBox2.isSelected() == false){ 2120: payloadField2.setEditable(false); 2121: } 2122: }//GEN-LAST:event_payloadBox2ActionPerformed 2123: 2124: private void dstPrtFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstPrtFlag2ActionPerformed 2125: // TODO add your handling code here: 2126: if (dstPrtFlag2.isSelected() == true){ 2127: dstPrtField2.setEditable(true); 2128: }else if (dstPrtFlag2.isSelected() == false){ 2129: dstPrtField2.setEditable(false); 2130: } 2131: }//GEN-LAST:event_dstPrtFlag2ActionPerformed 2132: 2133: private void srcPrtFlag2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcPrtFlag2ActionPerformed 2134: // TODO add your handling code here: 2135: if (srcPrtFlag2.isSelected() == true){ 2136: srcPrtField2.setEditable(true); 2137: }else if (srcPrtFlag2.isSelected() == false){ 2138: srcPrtField2.setEditable(false); 2139: } 2140: }//GEN-LAST:event_srcPrtFlag2ActionPerformed 2141: 2142: 2143: /* END UDP TAB BUTTON ACTIONS */ 2144: 2145: 2146: private void injectButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_injectButtonActionPerformed 2147: // TODO add your handling code here: 2148: if (tcpPanel.isShowing() == true){ 2149: System.out.println("tcp panel is active"); 2150: parseNemesisArgsTCP(); 2151: setArgsTCP(); 2152: injectPacket("tcp", nemesisArgs); 2153: resetArgs(); 2154: } else if (udpPanel.isShowing() == true){ 2155: parseNemesisArgsUDP(); 2156: setArgsUDP(); 2157: injectPacket("udp", nemesisArgs); 2158: resetArgs(); 2159: } else if (icmpPanel.isShowing() == true){ 2160: parseNemesisArgsICMP(); 2161: setArgsICMP(); 2162: injectPacket("icmp", nemesisArgs); 2163: resetArgs(); 2164: 2165: } 2166: nemesisArgs = ""; 2167: //injectPacket(); 2168: }//GEN-LAST:event_injectButtonActionPerformed 2169: 2170: 2171: /* START TCP TAB BUTTON ACTIONS */ 2172: 2173: 2174: private void dstMacFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstMacFlagActionPerformed 2175: // TODO add your handling code here: 2176: if (dstMacFlag.isSelected() == true){ 2177: dstMacField.setEditable(true); 2178: }else if (dstMacFlag.isSelected() == false){ 2179: dstMacField.setEditable(false); 2180: } 2181: }//GEN-LAST:event_dstMacFlagActionPerformed 2182: 2183: private void srcMacFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcMacFlagActionPerformed 2184: // TODO add your handling code here: 2185: if (srcMacFlag.isSelected() == true){ 2186: srcMacField.setEditable(true); 2187: }else if (srcMacFlag.isSelected() == false){ 2188: srcMacField.setEditable(false); 2189: } 2190: }//GEN-LAST:event_srcMacFlagActionPerformed 2191: 2192: private void ethDevFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ethDevFlagActionPerformed 2193: // TODO add your handling code here: 2194: if (ethDevFlag.isSelected() == true){ 2195: ethDevField.setEditable(true); 2196: }else if (ethDevFlag.isSelected() == false){ 2197: ethDevField.setEditable(false); 2198: } 2199: }//GEN-LAST:event_ethDevFlagActionPerformed 2200: 2201: private void ipOptFileBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipOptFileBoxActionPerformed 2202: // TODO add your handling code here: 2203: if (ipOptFileBox.isSelected() == true){ 2204: ipOptFileField.setEditable(true); 2205: }else if (ipOptFileBox.isSelected() == false){ 2206: ipOptFileField.setEditable(false); 2207: } 2208: }//GEN-LAST:event_ipOptFileBoxActionPerformed 2209: 2210: private void fragOffSetFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fragOffSetFlagActionPerformed 2211: // TODO add your handling code here: 2212: if (fragOffSetFlag.isSelected() == true){ 2213: fragOffSetField.setEditable(true); 2214: }else if (fragOffSetFlag.isSelected() == false){ 2215: fragOffSetField.setEditable(false); 2216: } 2217: }//GEN-LAST:event_fragOffSetFlagActionPerformed 2218: 2219: private void tosFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tosFlagActionPerformed 2220: // TODO add your handling code here: 2221: if (tosFlag.isSelected() == true){ 2222: tosField.setEditable(true); 2223: }else if (tosFlag.isSelected() == false){ 2224: tosField.setEditable(false); 2225: } 2226: }//GEN-LAST:event_tosFlagActionPerformed 2227: 2228: private void ttlFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ttlFlagActionPerformed 2229: // TODO add your handling code here: 2230: if (ttlFlag.isSelected() == true){ 2231: ttlField.setEditable(true); 2232: }else if (ttlFlag.isSelected() == false){ 2233: ttlField.setEditable(false); 2234: } 2235: }//GEN-LAST:event_ttlFlagActionPerformed 2236: 2237: private void ipIdFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ipIdFlagActionPerformed 2238: // TODO add your handling code here: 2239: if (ipIdFlag.isSelected() == true){ 2240: ipIdField.setEditable(true); 2241: }else if (ipIdFlag.isSelected() == false){ 2242: ipIdField.setEditable(false); 2243: } 2244: }//GEN-LAST:event_ipIdFlagActionPerformed 2245: 2246: private void dstIpFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstIpFlagActionPerformed 2247: // TODO add your handling code here: 2248: if (dstIpFlag.isSelected() == true){ 2249: dstIpField.setEditable(true); 2250: }else if (dstIpFlag.isSelected() == false){ 2251: dstIpField.setEditable(false); 2252: } 2253: }//GEN-LAST:event_dstIpFlagActionPerformed 2254: 2255: private void srcIpFlagActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcIpFlagActionPerformed 2256: // TODO add your handling code here: 2257: if (srcIpFlag.isSelected() == true){ 2258: srcIpField.setEditable(true); 2259: }else if (srcIpFlag.isSelected() == false){ 2260: srcIpField.setEditable(false); 2261: } 2262: }//GEN-LAST:event_srcIpFlagActionPerformed 2263: 2264: private void payloadBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_payloadBox1ActionPerformed 2265: // TODO add your handling code here: 2266: if (payloadBox1.isSelected() == true){ 2267: payloadField1.setEditable(true); 2268: }else if (payloadBox1.isSelected() == false){ 2269: payloadField1.setEditable(false); 2270: } 2271: }//GEN-LAST:event_payloadBox1ActionPerformed 2272: 2273: private void tcpOptBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcpOptBox1ActionPerformed 2274: // TODO add your handling code here: 2275: if (tcpOptBox1.isSelected() == true){ 2276: tcpOptField1.setEditable(true); 2277: }else if (tcpOptBox1.isSelected() == false){ 2278: tcpOptField1.setEditable(false); 2279: } 2280: }//GEN-LAST:event_tcpOptBox1ActionPerformed 2281: 2282: private void urgOffFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_urgOffFlag1ActionPerformed 2283: // TODO add your handling code here: 2284: if (urgOffFlag1.isSelected() == true){ 2285: urgOffField1.setEditable(true); 2286: }else if (urgOffFlag1.isSelected() == false){ 2287: urgOffField1.setEditable(false); 2288: } 2289: }//GEN-LAST:event_urgOffFlag1ActionPerformed 2290: 2291: private void ackNumFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ackNumFlag1ActionPerformed 2292: // TODO add your handling code here: 2293: if (ackNumFlag1.isSelected() == true){ 2294: ackNumField1.setEditable(true); 2295: }else if (ackNumFlag1.isSelected() == false){ 2296: ackNumField1.setEditable(false); 2297: } 2298: }//GEN-LAST:event_ackNumFlag1ActionPerformed 2299: 2300: private void seqFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_seqFlag1ActionPerformed 2301: // TODO add your handling code here: 2302: if (seqFlag1.isSelected() == true){ 2303: seqField1.setEditable(true); 2304: }else if (seqFlag1.isSelected() == false){ 2305: seqField1.setEditable(false); 2306: } 2307: }//GEN-LAST:event_seqFlag1ActionPerformed 2308: 2309: private void windowFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_windowFlag1ActionPerformed 2310: // TODO add your handling code here: 2311: if (windowFlag1.isSelected() == true){ 2312: winSizeField1.setEditable(true); 2313: }else if (windowFlag1.isSelected() == false){ 2314: winSizeField1.setEditable(false); 2315: } 2316: }//GEN-LAST:event_windowFlag1ActionPerformed 2317: 2318: private void tcpFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tcpFlag1ActionPerformed 2319: // TODO add your handling code here: 2320: if (tcpFlag1.isSelected() == true){ 2321: tcpFlagsCBox1.setEnabled(true); 2322: }else if (tcpFlag1.isSelected() == false){ 2323: tcpFlagsCBox1.setEnabled(false); 2324: } 2325: }//GEN-LAST:event_tcpFlag1ActionPerformed 2326: 2327: private void dstPrtFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dstPrtFlag1ActionPerformed 2328: // TODO add your handling code here: 2329: if (dstPrtFlag1.isSelected() == true){ 2330: dstPrtField1.setEditable(true); 2331: }else if (dstPrtFlag1.isSelected() == false){ 2332: dstPrtField1.setEditable(false); 2333: } 2334: }//GEN-LAST:event_dstPrtFlag1ActionPerformed 2335: 2336: private void srcPrtFlag1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_srcPrtFlag1ActionPerformed 2337: // TODO add your handling code here: 2338: if (srcPrtFlag1.isSelected() == true){ 2339: srcPrtField1.setEditable(true); 2340: }else if (srcPrtFlag1.isSelected() == false){ 2341: srcPrtField1.setEditable(false); 2342: } 2343: }//GEN-LAST:event_srcPrtFlag1ActionPerformed 2344: 2345: 2346: /* END TCP TAB BUTTON ACTIONS*/ 2347: 2348: /** Exit the Application */ 2349: private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm 2350: System.exit(0); 2351: }//GEN-LAST:event_exitForm 2352: 2353: /** 2354: * just invokes a new jnmesis() 2355: * @param args the command line arguments 2356: */ 2357: public static void main(String args[]) { 2358: new jnemesis().show(); 2359: } 2360: 2361: /** 2362: * Will pop up the JFileChooser open dialog to let user pick the file for a payload 2363: * or the varios option file fields. 2364: * @return Full path and name of selected file 2365: */ 2366: 2367: 2368: public String getPayloadFile() { 2369: int returnVal = fileChooser.showOpenDialog(jnemesis.this); 2370: 2371: if (returnVal == JFileChooser.APPROVE_OPTION) { 2372: File file = fileChooser.getSelectedFile(); 2373: System.out.println(file.getPath()); 2374: return(file.getPath()); 2375: } else { 2376: /* if something goes insanly wrong return this text and report to me */ 2377: return("Bad monkey...no taco!!"); 2378: } 2379: } 2380: 2381: 2382: /** 2383: * Parses all of the TCP arguments 2384: */ 2385: public void parseNemesisArgsTCP() { 2386: // get source port 2387: if (srcPrtFlag1.isSelected() == true && srcPrtField1.getText().length() > 0){ 2388: sourcePort = srcPrtField1.getText(); 2389: } 2390: // get dest port 2391: if (dstPrtFlag1.isSelected() == true && dstPrtField1.getText().length() > 0){ 2392: destinationPort = dstPrtField1.getText(); 2393: } 2394: // get tcp flag 2395: if (tcpFlag1.isSelected() == true && tcpFlagsCBox1.getSelectedIndex() != 0){ 2396: /* Get index of current selection parse through and assign right flag */ 2397: int index = tcpFlagsCBox1.getSelectedIndex(); 2398: if (index == 1) 2399: tcpFlag = "-fS"; 2400: else if (index == 2) 2401: tcpFlag = "-fA"; 2402: else if (index == 3) 2403: tcpFlag = "-fR"; 2404: else if (index == 4) 2405: tcpFlag = "-fP"; 2406: else if (index == 5) 2407: tcpFlag = "-fF"; 2408: } 2409: // get window size 2410: if (windowFlag1.isSelected() == true && winSizeField1.getText().length() > 0){ 2411: windowSize = winSizeField1.getText(); 2412: } 2413: // get ack seq num 2414: if (seqFlag1.isSelected() == true && seqField1.getText().length() > 0){ 2415: seqNumber = seqField1.getText(); 2416: } 2417: // get ack number 2418: if (ackNumFlag1.isSelected() == true && ackNumField1.getText().length() > 0){ 2419: ackNumber = ackNumField1.getText(); 2420: } 2421: // get urg off set 2422: if (urgOffFlag1.isSelected() == true && urgOffField1.getText().length() > 0){ 2423: upOffSet = urgOffField1.getText(); 2424: } 2425: // get tcp opt file 2426: if (tcpOptBox1.isSelected() == true && tcpOptField1.getText().length() > 0){ 2427: tcpOptionsFile = tcpOptField1.getText(); 2428: } 2429: // get payload file 2430: if (payloadBox1.isSelected() == true && payloadField1.getText().length() > 0){ 2431: payloadFile = payloadField1.getText(); 2432: } 2433: // get src ip 2434: if (srcIpFlag.isSelected() == true && srcIpField.getText().length() > 0){ 2435: sourceIp = srcIpField.getText(); 2436: } 2437: // get dest ip 2438: if (dstIpFlag.isSelected() == true && dstIpField.getText().length() > 0){ 2439: destinationIp = dstIpField.getText(); 2440: } 2441: // get ipid 2442: if (ipIdFlag.isSelected() == true && ipIdField.getText().length() > 0){ 2443: ipId = ipIdField.getText(); 2444: } 2445: // get ttl 2446: if (ttlFlag.isSelected() == true && ttlField.getText().length() > 0){ 2447: timeToLive = ttlField.getText(); 2448: } 2449: // get tos 2450: if (tosFlag.isSelected() == true && tosField.getText().length() > 0){ 2451: tos = tosField.getText(); 2452: } 2453: // get fragmentation of set 2454: if (fragOffSetFlag.isSelected() == true && fragOffSetField.getText().length() > 0){ 2455: fragOffSet = fragOffSetField.getText(); 2456: } 2457: // get ip options file 2458: if (ipOptFileBox.isSelected() == true && ipOptFileField.getText().length() > 0){ 2459: ipOptionsFile = ipOptFileField.getText(); 2460: } 2461: // get ethernet device to be used 2462: if (ethDevFlag.isSelected() == true && ethDevField.getText().length() > 0){ 2463: ethernetDevice = ethDevField.getText(); 2464: } 2465: // Get srouce mac address 2466: if (srcMacFlag.isSelected() == true && srcMacField.getText().length() > 0){ 2467: sourceMacAddress = srcMacField.getText(); 2468: } 2469: // Get destination Mac Address 2470: if (dstMacFlag.isSelected() == true && dstMacField.getText().length() > 0){ 2471: destinationMacAddress = dstMacField.getText(); 2472: } 2473: } 2474: /** 2475: * Parses all of the UDP arguments 2476: */ 2477: public void parseNemesisArgsUDP() { 2478: // get source port 2479: if (srcPrtFlag2.isSelected() == true && srcPrtField2.getText().length() > 0){ 2480: sourcePort = srcPrtField2.getText(); 2481: } 2482: // get dest port 2483: if (dstPrtFlag2.isSelected() == true && dstPrtField2.getText().length() > 0){ 2484: destinationPort = dstPrtField2.getText(); 2485: } 2486: // get payload file 2487: if (payloadBox2.isSelected() == true && payloadField2.getText().length() > 0){ 2488: payloadFile = payloadField2.getText(); 2489: } 2490: // get src ip 2491: if (srcIpFlag1.isSelected() == true && srcIpField1.getText().length() > 0){ 2492: sourceIp = srcIpField1.getText(); 2493: } 2494: // get dest ip 2495: if (dstIpFlag1.isSelected() == true && dstIpField1.getText().length() > 0){ 2496: destinationIp = dstIpField1.getText(); 2497: } 2498: // get ipid 2499: if (ipIdFlag1.isSelected() == true && ipIdField1.getText().length() > 0){ 2500: ipId = ipIdField1.getText(); 2501: } 2502: // get ttl 2503: if (ttlFlag1.isSelected() == true && ttlField1.getText().length() > 0){ 2504: timeToLive = ttlField1.getText(); 2505: } 2506: // get tos 2507: if (tosFlag1.isSelected() == true && tosField1.getText().length() > 0){ 2508: tos = tosField1.getText(); 2509: } 2510: // get fragmentation of set 2511: if (fragOffSetFlag1.isSelected() == true && fragOffSetField1.getText().length() > 0){ 2512: fragOffSet = fragOffSetField1.getText(); 2513: } 2514: // get ip options file 2515: if (ipOptFileBox1.isSelected() == true && ipOptFileField1.getText().length() > 0){ 2516: ipOptionsFile = ipOptFileField1.getText(); 2517: } 2518: // get ethernet device to be used 2519: if (ethDevFlag1.isSelected() == true && ethDevField1.getText().length() > 0){ 2520: ethernetDevice = ethDevField1.getText(); 2521: } 2522: // Get srouce mac address 2523: if (srcMacFlag1.isSelected() == true && srcMacField1.getText().length() > 0){ 2524: sourceMacAddress = srcMacField1.getText(); 2525: } 2526: // Get destination Mac Address 2527: if (dstMacFlag1.isSelected() == true && dstMacField1.getText().length() > 0){ 2528: destinationMacAddress = dstMacField1.getText(); 2529: } 2530: } 2531: /** 2532: * Parses all of the ICMP arguments 2533: */ 2534: public void parseNemesisArgsICMP() { 2535: if(icmpCodeFlag1.isSelected() == true && icmpCodeField1.getText().length() > 0){ 2536: icmpCode = icmpCodeField1.getText(); 2537: } 2538: if(icmpIDFlag1.isSelected() == true && icmpIDField1.getText().length() > 0){ 2539: icmpID = icmpIDField1.getText(); 2540: } 2541: if(icmpTypeFlag1.isSelected() == true && icmpTypeField1.getText().length() > 0){ 2542: icmpType = icmpTypeField1.getText(); 2543: } 2544: if(prefGatewayFlag1.isSelected() == true && prefGatewayField1.getText().length() > 0){ 2545: icmpprefGateway = prefGatewayField1.getText(); 2546: } 2547: if(icmpMaskFlag1.isSelected() == true && icmpMaskField1.getText().length() > 0){ 2548: icmpMask = icmpMaskField1.getText(); 2549: } 2550: if (icmpModeFlag1.isSelected() == true && icmpModeCBox1.getSelectedIndex() != 0){ 2551: /* Get index of current selection parse through and assign right flag */ 2552: int index = icmpModeCBox1.getSelectedIndex(); 2553: if (index == 1) 2554: icmpMode = "-qE"; 2555: else if (index == 2) 2556: icmpMode = "-qM"; 2557: else if (index == 3) 2558: icmpMode = "-qU"; 2559: else if (index == 4) 2560: icmpMode = "-qX"; 2561: else if (index == 5) 2562: icmpMode = "-qR"; 2563: else if (index == 6) 2564: icmpMode = "-qT"; 2565: } 2566: if(icmpSeqNumFlag1.isSelected() == true && icmpSeqNumField1.getText().length() > 0){ 2567: icmpSeqNum = icmpSeqNumField1.getText(); 2568: } 2569: if(payloadBox3.isSelected() == true && payloadField3.getText().length() > 0){ 2570: icmpPayloadFile = payloadField3.getText(); 2571: } 2572: if(srcIpFlag2.isSelected() == true && srcIpField2.getText().length() > 0){ 2573: icmpsrcIp2 = srcIpField2.getText(); 2574: } 2575: if(dstIpFlag2.isSelected() == true && dstIpField2.getText().length() > 0){ 2576: icmpdstIp2 = dstIpField2.getText(); 2577: } 2578: if(ipIdFlag2.isSelected() == true && ipIdField2.getText().length() > 0){ 2579: icmpipId2 = ipIdField2.getText(); 2580: } 2581: if(ttlFlag2.isSelected() == true && ttlField2.getText().length() > 0){ 2582: icmpttl2 = ttlField2.getText(); 2583: } 2584: if(tosFlag2.isSelected() == true && tosField2.getText().length() > 0){ 2585: icmptos2 = tosField2.getText(); 2586: } 2587: if(fragOffSetFlag2.isSelected() == true && fragOffSetField2.getText().length() > 0){ 2588: icmpfragOffSet2 = fragOffSetField2.getText(); 2589: } 2590: if(ethDevFlag2.isSelected() == true && ethDevField2.getText().length() > 0){ 2591: icmpethDev2 = ethDevField2.getText(); 2592: } 2593: if(srcMacFlag2.isSelected() == true && srcMacField2.getText().length() > 0){ 2594: icmpsrcMac2 = srcMacField2.getText(); 2595: } 2596: if(dstMacFlag2.isSelected() == true && dstMacField2.getText().length() > 0){ 2597: icmpdstMac2 = dstMacField2.getText(); 2598: } 2599: if(icmpTRRTTFlag1.isSelected() == true && icmpTRRTTField1.getText().length() > 0){ 2600: icmpTRRTT = icmpTRRTTField1.getText(); 2601: } 2602: if(icmpTRTTFlag1.isSelected() == true && icmpTRTTField1.getText().length() > 0){ 2603: icmpTRTT = icmpTRTTField1.getText(); 2604: } 2605: if(icmpTRRRTFlag1.isSelected() == true && icmpTRRRTField1.getText().length() > 0){ 2606: icmpTRRRT = icmpTRRRTField1.getText(); 2607: } 2608: if(icmpDstIPFlag1.isSelected() == true && icmpDstIPField1.getText().length() > 0){ 2609: icmpDstIP = icmpDstIPField1.getText(); 2610: } 2611: if(icmpSrcIPFlag1.isSelected() == true && icmpSrcIPField1.getText().length() > 0){ 2612: icmpSrcIP = icmpSrcIPField1.getText(); 2613: } 2614: if(icmpFragOpsFlag1.isSelected() == true && icmpFragOpsField1.getText().length() > 0){ 2615: icmpFragOps = icmpFragOpsField1.getText(); 2616: } 2617: if(icmpIPTosFlag1.isSelected() == true && icmpIPTosField1.getText().length() > 0){ 2618: icmpIPTos = icmpIPTosField1.getText(); 2619: } 2620: if(icmpIPTtlFlag1.isSelected() == true && icmpIPTtlField1.getText().length() > 0){ 2621: icmpIPTtl = icmpIPTtlField1.getText(); 2622: } 2623: if (icmpIPOptsBox.isSelected() == true && icmpIPOptsPayloadField.getText().length() > 0){ 2624: icmpipOptFile1 = ipOptFileField1.getText(); 2625: } 2626: if (ipOptFileBox2.isSelected() == true && ipOptFileField2.getText().length() > 0){ 2627: icmpipOptFile1 = icmpIPOptsPayloadField.getText(); 2628: } 2629: if (icmpFragOpsFlag1.isSelected() == true && icmpFragOpsField1.getText().length() > 0){ 2630: icmpFragOps = icmpFragOpsField1.getText(); 2631: } 2632: if (icmpIPTosFlag1.isSelected() == true && icmpIPTosField1.getText().length() > 0){ 2633: icmpIPTos = icmpIPTosField1.getText(); 2634: } 2635: if (icmpIPTtlFlag1.isSelected() == true && icmpIPTtlField1.getText().length() > 0){ 2636: icmpIPTtl = icmpIPTtlField1.getText(); 2637: } 2638: 2639: 2640: 2641: } 2642: 2643: private void setArgsTCP() { 2644: if (sourcePort.equals("default") != true) 2645: { 2646: nemesisArgs = nemesisArgs + " -x " + sourcePort; 2647: } 2648: if (destinationPort.equals("default") != true) 2649: { 2650: nemesisArgs = nemesisArgs + " -y " + destinationPort; 2651: } 2652: if (tcpFlag.equals("default") != true) 2653: { 2654: nemesisArgs = nemesisArgs + " " + tcpFlag; 2655: } 2656: if (windowSize.equals("default") != true) 2657: { 2658: nemesisArgs = nemesisArgs + " -w " + windowSize; 2659: } 2660: if (seqNumber.equals("default") != true) 2661: { 2662: nemesisArgs = nemesisArgs + " -s " + seqNumber; 2663: } 2664: if (ackNumber.equals("default") != true) 2665: { 2666: nemesisArgs = nemesisArgs + " -a " + ackNumber; 2667: } 2668: if (upOffSet.equals("default") != true) 2669: { 2670: nemesisArgs = nemesisArgs + " -u " + upOffSet; 2671: } 2672: if (tcpOptionsFile.equals("default") != true) 2673: { 2674: nemesisArgs = nemesisArgs + " -o " + tcpOptionsFile; 2675: } 2676: if (payloadFile.equals("default") != true) 2677: { 2678: nemesisArgs = nemesisArgs + " -P " + payloadFile; 2679: } 2680: if (sourceIp.equals("default") != true) 2681: { 2682: nemesisArgs = nemesisArgs + " -S " + sourceIp; 2683: } 2684: if (destinationIp.equals("default") != true) 2685: { 2686: nemesisArgs = nemesisArgs + " -D " + destinationIp; 2687: } 2688: if (ipId.equals("default") != true) 2689: { 2690: nemesisArgs = nemesisArgs + " -I " + ipId; 2691: } 2692: if (timeToLive.equals("default") != true) 2693: { 2694: nemesisArgs = nemesisArgs + " -T " + timeToLive; 2695: } 2696: if (tos.equals("default") != true) 2697: { 2698: nemesisArgs = nemesisArgs + " -t " + tos; 2699: } 2700: if (fragOffSet.equals("default") != true) 2701: { 2702: nemesisArgs = nemesisArgs + " -F " + fragOffSet; 2703: } 2704: if (ipOptionsFile.equals("default") != true) 2705: { 2706: nemesisArgs = nemesisArgs + " -O " + ipOptionsFile; 2707: } 2708: if (ethernetDevice.equals("default") != true) 2709: { 2710: nemesisArgs = nemesisArgs + " -d " + ethernetDevice; 2711: } 2712: if (sourceMacAddress.equals("default") != true) 2713: { 2714: nemesisArgs = nemesisArgs + " -H " + sourceMacAddress; 2715: } 2716: if (destinationMacAddress.equals("default") != true) 2717: { 2718: nemesisArgs = nemesisArgs + " -M " + destinationMacAddress; 2719: } 2720: } 2721: private void setArgsUDP() { 2722: if (sourcePort.equals("default") != true) 2723: { 2724: nemesisArgs = nemesisArgs + " -x " + sourcePort; 2725: } 2726: if (destinationPort.equals("default") != true) 2727: { 2728: nemesisArgs = nemesisArgs + " -y " + destinationPort; 2729: } 2730: if (payloadFile.equals("default") != true) 2731: { 2732: nemesisArgs = nemesisArgs + " -P " + payloadFile; 2733: } 2734: if (sourceIp.equals("default") != true) 2735: { 2736: nemesisArgs = nemesisArgs + " -S " + sourceIp; 2737: } 2738: if (destinationIp.equals("default") != true) 2739: { 2740: nemesisArgs = nemesisArgs + " -D " + destinationIp; 2741: } 2742: if (ipId.equals("default") != true) 2743: { 2744: nemesisArgs = nemesisArgs + " -I " + ipId; 2745: } 2746: if (timeToLive.equals("default") != true) 2747: { 2748: nemesisArgs = nemesisArgs + " -T " + timeToLive; 2749: } 2750: if (tos.equals("default") != true) 2751: { 2752: nemesisArgs = nemesisArgs + " -t " + tos; 2753: } 2754: if (fragOffSet.equals("default") != true) 2755: { 2756: nemesisArgs = nemesisArgs + " -F " + fragOffSet; 2757: } 2758: if (ipOptionsFile.equals("default") != true) 2759: { 2760: nemesisArgs = nemesisArgs + " -O " + ipOptionsFile; 2761: } 2762: if (ethernetDevice.equals("default") != true) 2763: { 2764: nemesisArgs = nemesisArgs + " -d " + ethernetDevice; 2765: } 2766: if (sourceMacAddress.equals("default") != true) 2767: { 2768: nemesisArgs = nemesisArgs + " -H " + sourceMacAddress; 2769: } 2770: if (destinationMacAddress.equals("default") != true) 2771: { 2772: nemesisArgs = nemesisArgs + " -M " + destinationMacAddress; 2773: } 2774: } 2775: private void setArgsICMP(){ 2776: if (icmpCode.equals("default") != true) 2777: { 2778: nemesisArgs = nemesisArgs + " -c " + icmpCode; 2779: } 2780: if (icmpID.equals("default") != true) 2781: { 2782: nemesisArgs = nemesisArgs + " -e " + icmpID; 2783: } 2784: if (icmpType.equals("default") != true) 2785: { 2786: nemesisArgs = nemesisArgs + " -i " + icmpType; 2787: } 2788: if (icmpprefGateway.equals("default") != true) 2789: { 2790: nemesisArgs = nemesisArgs + " -G " + icmpprefGateway; 2791: } 2792: if (icmpMask.equals("default") != true) 2793: { 2794: nemesisArgs = nemesisArgs + " -m " + icmpMask; 2795: } 2796: if (icmpMode.equals("default") != true) 2797: { 2798: nemesisArgs = nemesisArgs + " " + icmpMode; 2799: } 2800: if (icmpSeqNum.equals("default") != true) 2801: { 2802: nemesisArgs = nemesisArgs + " -s " + icmpSeqNum; 2803: } 2804: if (icmpPayloadFile.equals("default") != true) 2805: { 2806: nemesisArgs = nemesisArgs + " -P " + icmpPayloadFile; 2807: } 2808: if (icmpSrcIP.equals("default") != true) 2809: { 2810: nemesisArgs = nemesisArgs + " -B " + icmpSrcIP; 2811: } 2812: if (icmpDstIP.equals("default") != true) 2813: { 2814: nemesisArgs = nemesisArgs + " -b " + icmpDstIP; 2815: } 2816: if (icmptos.equals("default") != true) 2817: { 2818: nemesisArgs = nemesisArgs + " -j " + icmptos; 2819: } 2820: if (icmpttl.equals("default") != true) 2821: { 2822: nemesisArgs = nemesisArgs + " -J " + icmpttl; 2823: } 2824: if (icmpTRRTT.equals("default") != true) 2825: { 2826: nemesisArgs = nemesisArgs + " -a " + icmpTRRTT; 2827: } 2828: if (icmpTRTT.equals("default") != true) 2829: { 2830: nemesisArgs = nemesisArgs + " -o " + icmpTRTT; 2831: } 2832: if (icmpTRRRT.equals("default") != true) 2833: { 2834: nemesisArgs = nemesisArgs + " -r " + icmpTRRRT; 2835: } 2836: if (icmpdstMac2.equals("default") != true) 2837: { 2838: nemesisArgs = nemesisArgs + " -M " + icmpdstMac2; 2839: } 2840: if (icmpsrcMac2.equals("default") != true) 2841: { 2842: nemesisArgs = nemesisArgs + " -H " + icmpsrcMac2; 2843: } 2844: if (icmpethDev2.equals("default") != true) 2845: { 2846: nemesisArgs = nemesisArgs + " -d " + icmpethDev2; 2847: } 2848: if (icmpfragOffSet2.equals("default") != true) 2849: { 2850: nemesisArgs = nemesisArgs + " -F " + icmpfragOffSet2; 2851: } 2852: if (icmptos2.equals("default") != true) 2853: { 2854: nemesisArgs = nemesisArgs + " -t " + icmptos2; 2855: } 2856: if (icmpttl2.equals("default") != true) 2857: { 2858: nemesisArgs = nemesisArgs + " -T " + icmpttl2; 2859: } 2860: if (icmpipId2.equals("default") != true) 2861: { 2862: nemesisArgs = nemesisArgs + " -I " + icmpipId2; 2863: } 2864: if (icmpdstIp2.equals("default") != true) 2865: { 2866: nemesisArgs = nemesisArgs + " -D " + icmpdstIp2; 2867: } 2868: if (icmpsrcIp2.equals("default") != true) 2869: { 2870: nemesisArgs = nemesisArgs + " -S " + icmpsrcIp2; 2871: } 2872: if(icmpipOptFile1.equals("default") != true) 2873: { 2874: nemesisArgs = nemesisArgs + " -P " + icmpipOptFile1; 2875: } 2876: if(icmpFragOps.equals("default") != true) 2877: { 2878: nemesisArgs = nemesisArgs + " -f " + icmpFragOps; 2879: } 2880: if (icmpIPTos.equals("default") != true) 2881: { 2882: nemesisArgs = nemesisArgs + " -j " + icmpIPTos; 2883: } 2884: if (icmpIPTtl.equals("default") != true) 2885: { 2886: nemesisArgs = nemesisArgs + " -J " + icmpIPTtl; 2887: } 2888: 2889: } 2890: 2891: private void resetArgs() { 2892: sourcePort= "default"; 2893: destinationPort= "default"; 2894: tcpFlag= "default"; 2895: windowSize= "default"; 2896: seqNumber= "default"; 2897: ackNumber= "default"; 2898: upOffSet= "default"; 2899: tcpOptionsFile= "default"; 2900: payloadFile= "default"; 2901: sourceIp= "default"; 2902: destinationIp= "default"; 2903: ipId= "default"; 2904: timeToLive= "default"; 2905: tos= "default"; 2906: fragOffSet= "default"; 2907: ipOptionsFile= "default"; 2908: ethernetDevice= "default"; 2909: sourceMacAddress= "default"; 2910: destinationMacAddress= "default"; 2911: icmpipOptFile1= "default"; //ipOptField1 2912: icmpipOptFile2= "default"; //ipOptField2 2913: icmpIPTtl= "default"; //icmpIPTtlField1 2914: icmpIPTos= "default"; //icmpIPTosField1 2915: icmpFragOps= "default"; //icmpFragOpsField1 2916: icmpSrcIP= "default"; //icmpSrcIPField1 2917: icmpDstIP= "default"; //icmpDstIPField1 2918: icmpTRRRT= "default"; //icmpTRRRTField1 2919: icmpTRTT= "default"; //icmpTRTTField1 2920: icmpTRRTT= "default"; //icmpTRRTTField1 2921: icmpdstMac= "default"; //dstMacField2 2922: icmpsrcMac= "default"; //srcMacField2 2923: icmpethDev= "default"; //ethDevField2 2924: icmpfragOffSet= "default"; //fragOffSetField2 2925: icmptos= "default"; //tosField2 2926: icmpttl= "default"; //ttlField2 2927: icmpipId= "default"; //ipIdField2 2928: icmpdstIp2= "default"; //dstIpField2 2929: icmpsrcIp2= "default"; //srcIpField2 2930: icmpPayloadFile= "default"; //payloadField3 2931: icmpSeqNum= "default"; //icmpSeqNumField1 2932: icmpMode= "default"; //icmpModeCBox1 2933: icmpMask= "default"; //icmpMaskField1 2934: icmpprefGateway= "default"; //prefGatewayField1 2935: icmpType= "default"; //icmpTypeField1 2936: icmpID= "default"; //icmpIDField1 2937: icmpCode= "default"; //icmpCodeField1 2938: icmpdstMac2= "default"; 2939: icmpsrcMac2= "default"; 2940: icmpethDev2= "default"; 2941: icmpfragOffSet2= "default"; 2942: icmptos2= "default"; 2943: icmpttl2= "default"; 2944: icmpipId2= "default"; 2945: } 2946: 2947: /** 2948: * puts packet in the queue (appends to JList) 2949: * @param injectionType one of 3 values: 2950: * 2951: * tcp 2952: * udp 2953: * icmp 2954: */ 2955: public void storePacket(String injectionType) { 2956: 2957: String command = new String(injectionType + " -vv" + nemesisArgs); 2958: queuedPackets.addElement(command); 2959: currentQueue++; 2960: } 2961: 2962: private void injectPacket(String injectionType, String Args) { 2963: DataInputStream is = null; 2964: try { 2965: Runtime r = Runtime.getRuntime(); 2966: String command = new String(nemesisPath + " " + injectionType + " -vv" + Args); 2967: //System.out.println("command: "+command); //for debug purposes 2968: Process p = r.exec(command); 2969: is = new DataInputStream(p.getInputStream()); 2970: p.waitFor(); 2971: int nemesisExitCode = p.exitValue(); 2972: if ( nemesisExitCode == 0){ 2973: statusField.setText("Injected Packet Successfully!!"); 2974: } 2975: else { 2976: statusField.setText("Packet Injection Failed!!"); 2977: } 2978: 2979: } 2980: catch (Exception ex) { 2981: } 2982: /* Now catch the result and sent it to the info pane */ 2983: String outPut = "Nemesis output\n-------------------"; 2984: try {String responseLine; while ((responseLine = is.readLine()) != null) 2985: { 2986: outPut = outPut + "\n" + responseLine.trim(); 2987: injectionResult.setText(outPut); 2988: } 2989: /* Clean up everything, close iostream */ 2990: is.close(); 2991: } catch (IOException e) { 2992: System.err.println("Couldn't get I/O for the connection"); 2993: } 2994: } 2995: 2996: private void injectQueued(String packet){ 2997: DataInputStream is = null; 2998: try { 2999: Runtime r = Runtime.getRuntime(); 3000: String command = new String(nemesisPath + " " + packet); 3001: //System.out.println("command: "+command); //for debug purposes 3002: Process p = r.exec(command); 3003: is = new DataInputStream(p.getInputStream()); 3004: p.waitFor(); 3005: int nemesisExitCode = p.exitValue(); 3006: if ( nemesisExitCode == 0){ 3007: statusField.setText("Injected Packet Successfully!!"); 3008: } 3009: else { 3010: statusField.setText("Packet Injection Failed!!"); 3011: } 3012: 3013: } 3014: catch (Exception ex) { 3015: } 3016: /* Now catch the result and sent it to the info pane */ 3017: String outPut = "Nemesis output\n-------------------"; 3018: try {String responseLine; while ((responseLine = is.readLine()) != null) 3019: { 3020: outPut = outPut + "\n" + responseLine.trim(); 3021: injectionResult.setText(outPut); 3022: } 3023: /* Clean up everything, close iostream */ 3024: is.close(); 3025: } catch (IOException e) { 3026: System.err.println("Couldn't get I/O for the connection"); 3027: } 3028: } 3029: 3030: private void loadConfig() { 3031: Properties defaultSettings = new Properties(); 3032: defaultSettings.put("NEMESIS", "/usr/local/bin/nemesis"); 3033: defaultSettings.put("INSTALLDIR", "/opt/jnemesis"); 3034: defaultSettings.put("QUEUESAVE", "/opt/jnemesis"); 3035: defaultSettings.put("QUEUESHELL", "/bin/sh"); 3036: 3037: Properties settings = new Properties(defaultSettings); 3038: try 3039: { 3040: FileInputStream configFile = new FileInputStream(System.getProperty("user.home")+"/.jnemesis"); 3041: settings.load(configFile); 3042: } 3043: catch (FileNotFoundException e) {} 3044: catch (IOException e) {} 3045: nemesisPath = settings.getProperty("NEMESIS"); 3046: installDir = settings.getProperty("INSTALLDIR"); 3047: queueSave = settings.getProperty("QUEUESAVE"); 3048: queueShell = settings.getProperty("QUEUESHELL"); 3049: 3050: } 3051: 3052: 3053: // Start of custom variable declarations 3054: DefaultListModel queuedPackets = new DefaultListModel(); 3055: private String nemesisPath; 3056: private String installDir; 3057: private String queueSave; 3058: private String queueShell; 3059: 3060: //Start of icmp interface var's 3061: private String icmpipOptFile1= "default"; //ipOptField1 3062: private String icmpipOptFile2= "default"; //ipOptField2 3063: private String icmpIPTtl= "default"; //icmpIPTtlField1 3064: private String icmpIPTos= "default"; //icmpIPTosField1 3065: private String icmpFragOps= "default"; //icmpFragOpsField1 3066: private String icmpSrcIP= "default"; //icmpSrcIPField1 3067: private String icmpDstIP= "default"; //icmpDstIPField1 3068: private String icmpTRRRT= "default"; //icmpTRRRTField1 3069: private String icmpTRTT= "default"; //icmpTRTTField1 3070: private String icmpTRRTT= "default"; //icmpTRRTTField1 3071: private String icmpdstMac= "default"; //dstMacField2 3072: private String icmpsrcMac= "default"; //srcMacField2 3073: private String icmpethDev= "default"; //ethDevField2 3074: private String icmpfragOffSet= "default"; //fragOffSetField2 3075: private String icmptos= "default"; //tosField2 3076: private String icmpttl= "default"; //ttlField2 3077: private String icmpipId= "default"; //ipIdField2 3078: private String icmpdstIp2= "default"; //dstIpField2 3079: private String icmpsrcIp2= "default"; //srcIpField2 3080: private String icmpPayloadFile= "default"; //payloadField3 3081: private String icmpSeqNum= "default"; //icmpSeqNumField1 3082: private String icmpMode= "default"; //icmpModeCBox1 3083: private String icmpMask= "default"; //icmpMaskField1 3084: private String icmpprefGateway= "default"; //prefGatewayField1 3085: private String icmpType= "default"; //icmpTypeField1 3086: private String icmpID= "default"; //icmpIDField1 3087: private String icmpCode= "default"; //icmpCodeField1 3088: private String icmpdstMac2= "default"; 3089: private String icmpsrcMac2= "default"; 3090: private String icmpethDev2= "default"; 3091: private String icmpfragOffSet2= "default"; 3092: private String icmptos2= "default"; 3093: private String icmpttl2= "default"; 3094: private String icmpipId2= "default"; 3095: //end icmp interface vars 3096: 3097: //start tcp/udp shared interface vars 3098: private int currentQueue = 0; 3099: private String nemesisArgs=""; 3100: private String sourcePort= "default"; 3101: private String destinationPort= "default"; 3102: private String tcpFlag= "default"; 3103: private String windowSize= "default"; 3104: private String seqNumber= "default"; 3105: private String ackNumber= "default"; 3106: private String upOffSet= "default"; 3107: private String tcpOptionsFile= "default"; 3108: private String payloadFile= "default"; 3109: private String sourceIp= "default"; 3110: private String destinationIp= "default"; 3111: private String ipId= "default"; 3112: private String timeToLive= "default"; 3113: private String tos= "default"; 3114: private String fragOffSet= "default"; 3115: private String ipOptionsFile= "default"; 3116: private String ethernetDevice= "default"; 3117: private String sourceMacAddress= "default"; 3118: private String destinationMacAddress= "default"; 3119: //End of custom variables 3120: 3121: 3122: // Variables declaration - do not modify//GEN-BEGIN:variables 3123: private javax.swing.JTextField ackNumField1; 3124: private javax.swing.JRadioButton ackNumFlag1; 3125: private javax.swing.JPanel controlPanel; 3126: private javax.swing.JTextField dstIpField; 3127: private javax.swing.JTextField dstIpField1; 3128: private javax.swing.JTextField dstIpField2; 3129: private javax.swing.JRadioButton dstIpFlag; 3130: private javax.swing.JRadioButton dstIpFlag1; 3131: private javax.swing.JRadioButton dstIpFlag2; 3132: private javax.swing.JTextField dstMacField; 3133: private javax.swing.JTextField dstMacField1; 3134: private javax.swing.JTextField dstMacField2; 3135: private javax.swing.JRadioButton dstMacFlag; 3136: private javax.swing.JRadioButton dstMacFlag1; 3137: private javax.swing.JRadioButton dstMacFlag2; 3138: private javax.swing.JTextField dstPrtField1; 3139: private javax.swing.JTextField dstPrtField2; 3140: private javax.swing.JRadioButton dstPrtFlag1; 3141: private javax.swing.JRadioButton dstPrtFlag2; 3142: private javax.swing.JTextField ethDevField; 3143: private javax.swing.JTextField ethDevField1; 3144: private javax.swing.JTextField ethDevField2; 3145: private javax.swing.JRadioButton ethDevFlag; 3146: private javax.swing.JRadioButton ethDevFlag1; 3147: private javax.swing.JRadioButton ethDevFlag2; 3148: private javax.swing.JFileChooser fileChooser; 3149: private javax.swing.JTextField fragOffSetField; 3150: private javax.swing.JTextField fragOffSetField1; 3151: private javax.swing.JTextField fragOffSetField2; 3152: private javax.swing.JRadioButton fragOffSetFlag; 3153: private javax.swing.JRadioButton fragOffSetFlag1; 3154: private javax.swing.JRadioButton fragOffSetFlag2; 3155: private javax.swing.JTabbedPane help; 3156: private javax.swing.JTextField icmpCodeField1; 3157: private javax.swing.JRadioButton icmpCodeFlag1; 3158: private javax.swing.JTextField icmpDstIPField1; 3159: private javax.swing.JRadioButton icmpDstIPFlag1; 3160: private javax.swing.JTextField icmpFragOpsField1; 3161: private javax.swing.JRadioButton icmpFragOpsFlag1; 3162: private javax.swing.JEditorPane icmpHelp; 3163: private javax.swing.JTextField icmpIDField1; 3164: private javax.swing.JRadioButton icmpIDFlag1; 3165: private javax.swing.JCheckBox icmpIPOptsBox; 3166: private javax.swing.JTextField icmpIPOptsPayloadField; 3167: private javax.swing.JTextField icmpIPTosField1; 3168: private javax.swing.JRadioButton icmpIPTosFlag1; 3169: private javax.swing.JTextField icmpIPTtlField1; 3170: private javax.swing.JRadioButton icmpIPTtlFlag1; 3171: private javax.swing.JTextField icmpMaskField1; 3172: private javax.swing.JRadioButton icmpMaskFlag1; 3173: private javax.swing.JComboBox icmpModeCBox1; 3174: private javax.swing.JRadioButton icmpModeFlag1; 3175: private javax.swing.JPanel icmpPanel; 3176: private javax.swing.JTextField icmpSeqNumField1; 3177: private javax.swing.JRadioButton icmpSeqNumFlag1; 3178: private javax.swing.JTextField icmpSrcIPField1; 3179: private javax.swing.JRadioButton icmpSrcIPFlag1; 3180: private javax.swing.JTextField icmpTRRRTField1; 3181: private javax.swing.JRadioButton icmpTRRRTFlag1; 3182: private javax.swing.JTextField icmpTRRTTField1; 3183: private javax.swing.JRadioButton icmpTRRTTFlag1; 3184: private javax.swing.JTextField icmpTRTTField1; 3185: private javax.swing.JRadioButton icmpTRTTFlag1; 3186: private javax.swing.JTextField icmpTypeField1; 3187: private javax.swing.JRadioButton icmpTypeFlag1; 3188: private javax.swing.JButton injectAll; 3189: private javax.swing.JButton injectButton; 3190: private javax.swing.JButton injectNext; 3191: private javax.swing.JTextArea injectionResult; 3192: private javax.swing.JTextField ipIdField; 3193: private javax.swing.JTextField ipIdField1; 3194: private javax.swing.JTextField ipIdField2; 3195: private javax.swing.JRadioButton ipIdFlag; 3196: private javax.swing.JRadioButton ipIdFlag1; 3197: private javax.swing.JRadioButton ipIdFlag2; 3198: private javax.swing.JCheckBox ipOptFileBox; 3199: private javax.swing.JCheckBox ipOptFileBox1; 3200: private javax.swing.JCheckBox ipOptFileBox2; 3201: private javax.swing.JTextField ipOptFileField; 3202: private javax.swing.JTextField ipOptFileField1; 3203: private javax.swing.JTextField ipOptFileField2; 3204: private javax.swing.JButton ipOptionsFileChooser; 3205: private javax.swing.JButton ipOptionsFileChooser1; 3206: private javax.swing.JButton ipOptionsFileChooser2; 3207: private javax.swing.JLabel jLabel1; 3208: private javax.swing.JLabel jLabel2; 3209: private javax.swing.JLabel jLabel3; 3210: private javax.swing.JLabel jLabel4; 3211: private javax.swing.JLabel jLabel5; 3212: private javax.swing.JPanel jPanel1; 3213: private javax.swing.JPanel jPanel10; 3214: private javax.swing.JPanel jPanel11; 3215: private javax.swing.JPanel jPanel12; 3216: private javax.swing.JPanel jPanel13; 3217: private javax.swing.JPanel jPanel14; 3218: private javax.swing.JPanel jPanel15; 3219: private javax.swing.JPanel jPanel16; 3220: private javax.swing.JPanel jPanel17; 3221: private javax.swing.JPanel jPanel2; 3222: private javax.swing.JPanel jPanel3; 3223: private javax.swing.JPanel jPanel4; 3224: private javax.swing.JPanel jPanel5; 3225: private javax.swing.JPanel jPanel6; 3226: private javax.swing.JPanel jPanel7; 3227: private javax.swing.JPanel jPanel8; 3228: private javax.swing.JPanel jPanel9; 3229: private javax.swing.JScrollPane jScrollPane1; 3230: private javax.swing.JScrollPane jScrollPane2; 3231: private javax.swing.JScrollPane jScrollPane3; 3232: private javax.swing.JScrollPane jScrollPane4; 3233: private javax.swing.JTabbedPane jTabbedPane2; 3234: private javax.swing.JTabbedPane jtabbedPane1; 3235: private javax.swing.JPanel masterPanel; 3236: private javax.swing.JCheckBox payloadBox1; 3237: private javax.swing.JCheckBox payloadBox2; 3238: private javax.swing.JCheckBox payloadBox3; 3239: private javax.swing.JTextField payloadField1; 3240: private javax.swing.JTextField payloadField2; 3241: private javax.swing.JTextField payloadField3; 3242: private javax.swing.JButton payloadFileChooser; 3243: private javax.swing.JButton payloadFileChooser1; 3244: private javax.swing.JButton payloadFileChooser2; 3245: private javax.swing.JButton payloadFileChooser3; 3246: private javax.swing.JTextField prefGatewayField1; 3247: private javax.swing.JRadioButton prefGatewayFlag1; 3248: private javax.swing.JButton queuePacket; 3249: private javax.swing.JPanel queuePanel; 3250: private javax.swing.JList queuedList; 3251: private javax.swing.JButton rmAll; 3252: private javax.swing.JButton rmSelected; 3253: private javax.swing.JButton saveQueue; 3254: private javax.swing.JTextField seqField1; 3255: private javax.swing.JRadioButton seqFlag1; 3256: private javax.swing.JTextField srcIpField; 3257: private javax.swing.JTextField srcIpField1; 3258: private javax.swing.JTextField srcIpField2; 3259: private javax.swing.JRadioButton srcIpFlag; 3260: private javax.swing.JRadioButton srcIpFlag1; 3261: private javax.swing.JRadioButton srcIpFlag2; 3262: private javax.swing.JTextField srcMacField; 3263: private javax.swing.JTextField srcMacField1; 3264: private javax.swing.JTextField srcMacField2; 3265: private javax.swing.JRadioButton srcMacFlag; 3266: private javax.swing.JRadioButton srcMacFlag1; 3267: private javax.swing.JRadioButton srcMacFlag2; 3268: private javax.swing.JTextField srcPrtField1; 3269: private javax.swing.JTextField srcPrtField2; 3270: private javax.swing.JRadioButton srcPrtFlag1; 3271: private javax.swing.JRadioButton srcPrtFlag2; 3272: private javax.swing.JTextField statusField; 3273: private javax.swing.JScrollPane statusPane; 3274: private javax.swing.JRadioButton tcpFlag1; 3275: private javax.swing.JComboBox tcpFlagsCBox1; 3276: private javax.swing.JEditorPane tcpHelp; 3277: private javax.swing.JButton tcpOpFileChooser1; 3278: private javax.swing.JCheckBox tcpOptBox1; 3279: private javax.swing.JTextField tcpOptField1; 3280: private javax.swing.JPanel tcpPanel; 3281: private javax.swing.JTextField tosField; 3282: private javax.swing.JTextField tosField1; 3283: private javax.swing.JTextField tosField2; 3284: private javax.swing.JRadioButton tosFlag; 3285: private javax.swing.JRadioButton tosFlag1; 3286: private javax.swing.JRadioButton tosFlag2; 3287: private javax.swing.JTextField ttlField; 3288: private javax.swing.JTextField ttlField1; 3289: private javax.swing.JTextField ttlField2; 3290: private javax.swing.JRadioButton ttlFlag; 3291: private javax.swing.JRadioButton ttlFlag1; 3292: private javax.swing.JRadioButton ttlFlag2; 3293: private javax.swing.JEditorPane udpHelp; 3294: private javax.swing.JPanel udpPanel; 3295: private javax.swing.JTextField urgOffField1; 3296: private javax.swing.JRadioButton urgOffFlag1; 3297: private javax.swing.JTextField winSizeField1; 3298: private javax.swing.JRadioButton windowFlag1; 3299: // End of variables declaration//GEN-END:variables 3300: 3301:}