The required screenshots
JNemesis TCP interface HERE
JNemesis UDP interface HERE
JNemesis queue interface HERE
JNemesis result interface HERE
Desctop screenshot HERE
Name Last modified Size Description
Parent Directory -
jnemesis$1.class 02-Aug-2004 16:25 635
jnemesis$2.class 02-Aug-2004 16:25 829
jnemesis-1.0.tar.gz 12-Sep-2004 18:43 90K
jnemesis.cfm 12-Sep-2004 18:48 548K
jnemesis.class 05-Aug-2004 20:42 52K
jnemesis.form 05-Aug-2004 20:42 142K
jnemesis.java 05-Aug-2004 20:41 112K
screenshots/ 03-Aug-2004 20:49 -
jnemesis.java
1:/*
2: * jnemesis.java
3: *
4: * Created on April 11, 2004, 12:23 AM
5: *
6: * A graphical frontend to the nemesis packet injection utility
7: * This is the source of the beta build on Thu Aug 5 20:30:41 CDT 2004.
8: * ICMP and the queue do not function, no properties file support.
9: *
10: * Build system information follows:
11: *
12: * CPU: AMD Athlon(TM) XP 2800+ (2071.203Mhz)
13: * Memory: 1024M (est.)
14: * JRE: build 1.4.2_04-b05
15: * System ID: Linux home.fragtheweak.net 2.6.6-1.435.2.3
16: */
17:/*
18: *
19: *!!! This applications released under the GPL !!!
20: *
21: */
22:
23:import java.io.*;
24:import java.util.*;
25:import javax.swing.*;
26:
27:/**
28: * @author Florian Hines <pandemic@syn-recon.net||fhines@blackopscode.com>
29: */
30:public class jnemesis extends javax.swing.JFrame {
31:
32: /** Creates new form jnemesis */
33: public jnemesis() {
34: loadConfig();
35: initComponents();
36: try{
37: tcpHelp.setPage("file://" + installDir + "/help/nemesis-tcp.html");
38: }
39: catch (IOException e)
40: {
41: tcpHelp.setText("Help unavailable - error \n" + e);
42: }
43: try{
44: udpHelp.setPage("file://" + installDir + "/help/nemesis-udp.html");
45: }
46: catch (IOException e)
47: {
48: udpHelp.setText("Help unavailable - error \n" + e);
49: }
50: try{
51: icmpHelp.setPage("file://" + installDir + "/help/nemesis-icmp.html");
52: }
53: catch (IOException e)
54: {
55: icmpHelp.setText("Help unavailable - error \n" + e);
56: }
57: }
58:
59: /** This method is called from within the constructor to
60: * initialize the form.
61: * WARNING: Do NOT modify this code. The content of this method is
62: * always regenerated by the Form Editor.
63: */
64: private void initComponents() {//GEN-BEGIN:initComponents
65: jPopupMenu1 = new javax.swing.JPopupMenu();
66: masterPanel = new javax.swing.JPanel();
67: jtabbedPane1 = new javax.swing.JTabbedPane();
68: tcpPanel = new javax.swing.JPanel();
69: jPanel1 = new javax.swing.JPanel();
70: srcPrtFlag1 = new javax.swing.JRadioButton();
71: srcPrtField1 = new javax.swing.JTextField();
72: dstPrtFlag1 = new javax.swing.JRadioButton();
73: dstPrtField1 = new javax.swing.JTextField();
74: tcpFlag1 = new javax.swing.JRadioButton();
75: tcpFlagsCBox1 = new javax.swing.JComboBox();
76: windowFlag1 = new javax.swing.JRadioButton();
77: winSizeField1 = new javax.swing.JTextField();
78: seqFlag1 = new javax.swing.JRadioButton();
79: seqField1 = new javax.swing.JTextField();
80: ackNumFlag1 = new javax.swing.JRadioButton();
81: ackNumField1 = new javax.swing.JTextField();
82: urgOffFlag1 = new javax.swing.JRadioButton();
83: urgOffField1 = new javax.swing.JTextField();
84: tcpOptBox1 = new javax.swing.JCheckBox();
85: tcpOptField1 = new javax.swing.JTextField();
86: tcpOpFileChooser1 = new javax.swing.JButton();
87: payloadBox1 = new javax.swing.JCheckBox();
88: payloadField1 = new javax.swing.JTextField();
89: payloadFileChooser = new javax.swing.JButton();
90: jPanel2 = new javax.swing.JPanel();
91: srcIpFlag = new javax.swing.JRadioButton();
92: srcIpField = new javax.swing.JTextField();
93: dstIpFlag = new javax.swing.JRadioButton();
94: dstIpField = new javax.swing.JTextField();
95: ipIdFlag = new javax.swing.JRadioButton();
96: ipIdField = new javax.swing.JTextField();
97: ttlFlag = new javax.swing.JRadioButton();
98: ttlField = new javax.swing.JTextField();
99: tosFlag = new javax.swing.JRadioButton();
100: tosField = new javax.swing.JTextField();
101: fragOffSetFlag = new javax.swing.JRadioButton();
102: fragOffSetField = new javax.swing.JTextField();
103: ipOptFileBox = new javax.swing.JCheckBox();
104: ipOptFileField = new javax.swing.JTextField();
105: ipOptionsFileChooser = new javax.swing.JButton();
106: jPanel3 = new javax.swing.JPanel();
107: ethDevFlag = new javax.swing.JRadioButton();
108: ethDevField = new javax.swing.JTextField();
109: srcMacFlag = new javax.swing.JRadioButton();
110: srcMacField = new javax.swing.JTextField();
111: dstMacFlag = new javax.swing.JRadioButton();
112: dstMacField = new javax.swing.JTextField();
113: udpPanel = new javax.swing.JPanel();
114: jPanel4 = new javax.swing.JPanel();
115: jPanel7 = new javax.swing.JPanel();
116: srcPrtFlag2 = new javax.swing.JRadioButton();
117: srcPrtField2 = new javax.swing.JTextField();
118: dstPrtFlag2 = new javax.swing.JRadioButton();
119: dstPrtField2 = new javax.swing.JTextField();
120: jPanel12 = new javax.swing.JPanel();
121: payloadBox2 = new javax.swing.JCheckBox();
122: payloadField2 = new javax.swing.JTextField();
123: payloadFileChooser1 = new javax.swing.JButton();
124: jPanel5 = new javax.swing.JPanel();
125: srcIpFlag1 = new javax.swing.JRadioButton();
126: srcIpField1 = new javax.swing.JTextField();
127: dstIpFlag1 = new javax.swing.JRadioButton();
128: dstIpField1 = new javax.swing.JTextField();
129: ipIdFlag1 = new javax.swing.JRadioButton();
130: ipIdField1 = new javax.swing.JTextField();
131: ttlFlag1 = new javax.swing.JRadioButton();
132: ttlField1 = new javax.swing.JTextField();
133: tosFlag1 = new javax.swing.JRadioButton();
134: tosField1 = new javax.swing.JTextField();
135: fragOffSetFlag1 = new javax.swing.JRadioButton();
136: fragOffSetField1 = new javax.swing.JTextField();
137: ipOptFileBox1 = new javax.swing.JCheckBox();
138: ipOptFileField1 = new javax.swing.JTextField();
139: ipOptionsFileChooser1 = new javax.swing.JButton();
140: jPanel6 = new javax.swing.JPanel();
141: ethDevFlag1 = new javax.swing.JRadioButton();
142: ethDevField1 = new javax.swing.JTextField();
143: srcMacFlag1 = new javax.swing.JRadioButton();
144: srcMacField1 = new javax.swing.JTextField();
145: dstMacFlag1 = new javax.swing.JRadioButton();
146: dstMacField1 = new javax.swing.JTextField();
147: icmpPanel = new javax.swing.JPanel();
148: jPanel8 = new javax.swing.JPanel();
149: jTabbedPane2 = new javax.swing.JTabbedPane();
150: jPanel11 = new javax.swing.JPanel();
151: icmpCodeFlag1 = new javax.swing.JRadioButton();
152: icmpCodeField1 = new javax.swing.JTextField();
153: icmpIDFlag1 = new javax.swing.JRadioButton();
154: icmpIDField1 = new javax.swing.JTextField();
155: icmpTypeFlag1 = new javax.swing.JRadioButton();
156: icmpTypeField1 = new javax.swing.JTextField();
157: prefGatewayFlag1 = new javax.swing.JRadioButton();
158: prefGatewayField1 = new javax.swing.JTextField();
159: icmpMaskFlag1 = new javax.swing.JRadioButton();
160: icmpMaskField1 = new javax.swing.JTextField();
161: icmpModeFlag1 = new javax.swing.JRadioButton();
162: icmpModeCBox1 = new javax.swing.JComboBox();
163: icmpSeqNumFlag1 = new javax.swing.JRadioButton();
164: icmpSeqNumField1 = new javax.swing.JTextField();
165: payloadBox3 = new javax.swing.JCheckBox();
166: payloadField3 = new javax.swing.JTextField();
167: payloadFileChooser2 = new javax.swing.JButton();
168: jPanel13 = new javax.swing.JPanel();
169: icmpTRRTTFlag1 = new javax.swing.JRadioButton();
170: icmpTRRTTField1 = new javax.swing.JTextField();
171: icmpTRTTFlag1 = new javax.swing.JRadioButton();
172: icmpTRTTField1 = new javax.swing.JTextField();
173: icmpTRRRTFlag1 = new javax.swing.JRadioButton();
174: icmpTRRRTField1 = new javax.swing.JTextField();
175: jPanel14 = new javax.swing.JPanel();
176: icmpDstIPFlag1 = new javax.swing.JRadioButton();
177: icmpDstIPField1 = new javax.swing.JTextField();
178: icmpSrcIPFlag1 = new javax.swing.JRadioButton();
179: icmpSrcIPField1 = new javax.swing.JTextField();
180: icmpFragOpsFlag1 = new javax.swing.JRadioButton();
181: icmpFragOpsField1 = new javax.swing.JTextField();
182: icmpIPTosFlag1 = new javax.swing.JRadioButton();
183: icmpIPTosField1 = new javax.swing.JTextField();
184: icmpIPTtlFlag1 = new javax.swing.JRadioButton();
185: icmpIPTtlField1 = new javax.swing.JTextField();
186: icmpIPOptsBox = new javax.swing.JCheckBox();
187: icmpIPOptsPayloadField = new javax.swing.JTextField();
188: payloadFileChooser3 = new javax.swing.JButton();
189: jPanel9 = new javax.swing.JPanel();
190: srcIpFlag2 = new javax.swing.JRadioButton();
191: srcIpField2 = new javax.swing.JTextField();
192: dstIpFlag2 = new javax.swing.JRadioButton();
193: dstIpField2 = new javax.swing.JTextField();
194: ipIdFlag2 = new javax.swing.JRadioButton();
195: ipIdField2 = new javax.swing.JTextField();
196: ttlFlag2 = new javax.swing.JRadioButton();
197: ttlField2 = new javax.swing.JTextField();
198: tosFlag2 = new javax.swing.JRadioButton();
199: tosField2 = new javax.swing.JTextField();
200: fragOffSetFlag2 = new javax.swing.JRadioButton();
201: fragOffSetField2 = new javax.swing.JTextField();
202: ipOptFileBox2 = new javax.swing.JCheckBox();
203: ipOptFileField2 = new javax.swing.JTextField();
204: ipOptionsFileChooser2 = new javax.swing.JButton();
205: jPanel10 = new javax.swing.JPanel();
206: ethDevFlag2 = new javax.swing.JRadioButton();
207: ethDevField2 = new javax.swing.JTextField();
208: srcMacFlag2 = new javax.swing.JRadioButton();
209: srcMacField2 = new javax.swing.JTextField();
210: dstMacFlag2 = new javax.swing.JRadioButton();
211: dstMacField2 = new javax.swing.JTextField();
212: queuePanel = new javax.swing.JPanel();
213: jScrollPane1 = new javax.swing.JScrollPane();
214: queuedList = new javax.swing.JList(queuedPackets);
215: jPanel16 = new javax.swing.JPanel();
216: injectNext = new javax.swing.JButton();
217: jButton2 = new javax.swing.JButton();
218: jButton3 = new javax.swing.JButton();
219: jButton4 = new javax.swing.JButton();
220: jButton5 = new javax.swing.JButton();
221: statusPane = new javax.swing.JScrollPane();
222: injectionResult = new javax.swing.JTextArea();
223: jPanel15 = new javax.swing.JPanel();
224: help = new javax.swing.JTabbedPane();
225: jScrollPane2 = new javax.swing.JScrollPane();
226: tcpHelp = new javax.swing.JEditorPane();
227: jScrollPane3 = new javax.swing.JScrollPane();
228: udpHelp = new javax.swing.JEditorPane();
229: jScrollPane4 = new javax.swing.JScrollPane();
230: icmpHelp = new javax.swing.JEditorPane();
231: controlPanel = new javax.swing.JPanel();
232: injectButton = new javax.swing.JButton();
233: queuePacket = new javax.swing.JButton();
234: jLabel1 = new javax.swing.JLabel();
235: statusField = new javax.swing.JTextField();
236:
237: setTitle("jNemesis-Beta");
238: setResizable(false);
239: addWindowListener(new java.awt.event.WindowAdapter() {
240: public void windowClosing(java.awt.event.WindowEvent evt) {
241: exitForm(evt);
242: }
243: });
244:
245: masterPanel.setLayout(new java.awt.BorderLayout());
246:
247: masterPanel.setMaximumSize(new java.awt.Dimension(575, 375));
248: masterPanel.setMinimumSize(new java.awt.Dimension(575, 375));
249: masterPanel.setPreferredSize(new java.awt.Dimension(575, 375));
250: jtabbedPane1.setFont(new java.awt.Font("Dialog", 0, 12));
251: tcpPanel.setLayout(new java.awt.BorderLayout());
252:
253: jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3));
254:
255: 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)));
256: jPanel1.setMaximumSize(new java.awt.Dimension(32767, 200));
257: jPanel1.setMinimumSize(new java.awt.Dimension(10, 150));
258: jPanel1.setPreferredSize(new java.awt.Dimension(10, 150));
259: srcPrtFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
260: srcPrtFlag1.setText("-x <src port>");
261: srcPrtFlag1.setToolTipText("Source Port Flag");
262: srcPrtFlag1.addActionListener(new java.awt.event.ActionListener() {
263: public void actionPerformed(java.awt.event.ActionEvent evt) {
264: srcPrtFlag1ActionPerformed(evt);
265: }
266: });
267:
268: jPanel1.add(srcPrtFlag1);
269:
270: srcPrtField1.setEditable(false);
271: srcPrtField1.setToolTipText("Enter the source port");
272: srcPrtField1.setMinimumSize(new java.awt.Dimension(35, 20));
273: srcPrtField1.setPreferredSize(new java.awt.Dimension(48, 20));
274: jPanel1.add(srcPrtField1);
275:
276: dstPrtFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
277: dstPrtFlag1.setText("-y <dst port>");
278: dstPrtFlag1.setToolTipText("Destination Port Flag");
279: dstPrtFlag1.addActionListener(new java.awt.event.ActionListener() {
280: public void actionPerformed(java.awt.event.ActionEvent evt) {
281: dstPrtFlag1ActionPerformed(evt);
282: }
283: });
284:
285: jPanel1.add(dstPrtFlag1);
286:
287: dstPrtField1.setEditable(false);
288: dstPrtField1.setToolTipText("Enter Destination Port");
289: dstPrtField1.setMinimumSize(new java.awt.Dimension(35, 20));
290: dstPrtField1.setPreferredSize(new java.awt.Dimension(48, 20));
291: jPanel1.add(dstPrtField1);
292:
293: tcpFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
294: tcpFlag1.setText("-f <TCP Flags>");
295: tcpFlag1.setToolTipText("TCP Flag Options");
296: tcpFlag1.addActionListener(new java.awt.event.ActionListener() {
297: public void actionPerformed(java.awt.event.ActionEvent evt) {
298: tcpFlag1ActionPerformed(evt);
299: }
300: });
301:
302: jPanel1.add(tcpFlag1);
303:
304: tcpFlagsCBox1.setMaximumRowCount(6);
305: tcpFlagsCBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "NONE", "-fS (SYN)", "-fA (ACK)", "-fR (RST)", "-fP (PSH)", "-fF (FIN)", "-fU (URG)" }));
306: tcpFlagsCBox1.setToolTipText("Possible TCP Flags");
307: tcpFlagsCBox1.setEnabled(false);
308: jPanel1.add(tcpFlagsCBox1);
309:
310: windowFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
311: windowFlag1.setText("-w <window size>");
312: windowFlag1.setToolTipText("Window Size");
313: windowFlag1.addActionListener(new java.awt.event.ActionListener() {
314: public void actionPerformed(java.awt.event.ActionEvent evt) {
315: windowFlag1ActionPerformed(evt);
316: }
317: });
318:
319: jPanel1.add(windowFlag1);
320:
321: winSizeField1.setEditable(false);
322: winSizeField1.setToolTipText("Enter the Window Size");
323: winSizeField1.setMinimumSize(new java.awt.Dimension(45, 20));
324: winSizeField1.setPreferredSize(new java.awt.Dimension(45, 20));
325: jPanel1.add(winSizeField1);
326:
327: seqFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
328: seqFlag1.setText("-s <SEQ Number>");
329: seqFlag1.setToolTipText("Seq Number Flag");
330: seqFlag1.addActionListener(new java.awt.event.ActionListener() {
331: public void actionPerformed(java.awt.event.ActionEvent evt) {
332: seqFlag1ActionPerformed(evt);
333: }
334: });
335:
336: jPanel1.add(seqFlag1);
337:
338: seqField1.setEditable(false);
339: seqField1.setToolTipText("Enter The Seq Number");
340: seqField1.setMinimumSize(new java.awt.Dimension(35, 20));
341: seqField1.setPreferredSize(new java.awt.Dimension(35, 20));
342: jPanel1.add(seqField1);
343:
344: ackNumFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
345: ackNumFlag1.setText("-a");
346: ackNumFlag1.setToolTipText("Ack Number Flag");
347: ackNumFlag1.addActionListener(new java.awt.event.ActionListener() {
348: public void actionPerformed(java.awt.event.ActionEvent evt) {
349: ackNumFlag1ActionPerformed(evt);
350: }
351: });
352:
353: jPanel1.add(ackNumFlag1);
354:
355: ackNumField1.setEditable(false);
356: ackNumField1.setToolTipText("Enter Ack Number");
357: ackNumField1.setMinimumSize(new java.awt.Dimension(40, 20));
358: ackNumField1.setPreferredSize(new java.awt.Dimension(40, 20));
359: jPanel1.add(ackNumField1);
360:
361: urgOffFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
362: urgOffFlag1.setText("-u");
363: urgOffFlag1.setToolTipText("UP Offset Flag");
364: urgOffFlag1.addActionListener(new java.awt.event.ActionListener() {
365: public void actionPerformed(java.awt.event.ActionEvent evt) {
366: urgOffFlag1ActionPerformed(evt);
367: }
368: });
369:
370: jPanel1.add(urgOffFlag1);
371:
372: urgOffField1.setEditable(false);
373: urgOffField1.setToolTipText("Urgent Pointer Offset");
374: urgOffField1.setMinimumSize(new java.awt.Dimension(40, 20));
375: urgOffField1.setPreferredSize(new java.awt.Dimension(40, 20));
376: jPanel1.add(urgOffField1);
377:
378: tcpOptBox1.setFont(new java.awt.Font("Dialog", 0, 12));
379: tcpOptBox1.setText("-o <TCP Options File>");
380: tcpOptBox1.setToolTipText("TCP Options File");
381: tcpOptBox1.addActionListener(new java.awt.event.ActionListener() {
382: public void actionPerformed(java.awt.event.ActionEvent evt) {
383: tcpOptBox1ActionPerformed(evt);
384: }
385: });
386:
387: jPanel1.add(tcpOptBox1);
388:
389: tcpOptField1.setEditable(false);
390: tcpOptField1.setToolTipText("path/to/tcp/options/file");
391: tcpOptField1.setMinimumSize(new java.awt.Dimension(100, 20));
392: tcpOptField1.setPreferredSize(new java.awt.Dimension(250, 20));
393: jPanel1.add(tcpOptField1);
394:
395: tcpOpFileChooser1.setText("../");
396: jPanel1.add(tcpOpFileChooser1);
397:
398: payloadBox1.setFont(new java.awt.Font("Dialog", 0, 12));
399: payloadBox1.setText("-P <Payload File> ");
400: payloadBox1.setToolTipText("Payload File");
401: payloadBox1.addActionListener(new java.awt.event.ActionListener() {
402: public void actionPerformed(java.awt.event.ActionEvent evt) {
403: payloadBox1ActionPerformed(evt);
404: }
405: });
406:
407: jPanel1.add(payloadBox1);
408:
409: payloadField1.setEditable(false);
410: payloadField1.setToolTipText("path/to/payload/file");
411: payloadField1.setMinimumSize(new java.awt.Dimension(200, 20));
412: payloadField1.setPreferredSize(new java.awt.Dimension(250, 20));
413: jPanel1.add(payloadField1);
414:
415: payloadFileChooser.setText("../");
416: jPanel1.add(payloadFileChooser);
417:
418: tcpPanel.add(jPanel1, java.awt.BorderLayout.NORTH);
419:
420: jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3));
421:
422: 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)));
423: jPanel2.setMaximumSize(new java.awt.Dimension(32767, 86));
424: jPanel2.setMinimumSize(new java.awt.Dimension(10, 86));
425: jPanel2.setPreferredSize(new java.awt.Dimension(10, 86));
426: srcIpFlag.setFont(new java.awt.Font("Dialog", 0, 12));
427: srcIpFlag.setText("-S <src ip>");
428: srcIpFlag.addActionListener(new java.awt.event.ActionListener() {
429: public void actionPerformed(java.awt.event.ActionEvent evt) {
430: srcIpFlagActionPerformed(evt);
431: }
432: });
433:
434: jPanel2.add(srcIpFlag);
435:
436: srcIpField.setEditable(false);
437: srcIpField.setToolTipText("Enter The Source IP Address");
438: srcIpField.setMinimumSize(new java.awt.Dimension(97, 20));
439: srcIpField.setPreferredSize(new java.awt.Dimension(100, 20));
440: jPanel2.add(srcIpField);
441:
442: dstIpFlag.setFont(new java.awt.Font("Dialog", 0, 12));
443: dstIpFlag.setText("-D <dst ip>");
444: dstIpFlag.addActionListener(new java.awt.event.ActionListener() {
445: public void actionPerformed(java.awt.event.ActionEvent evt) {
446: dstIpFlagActionPerformed(evt);
447: }
448: });
449:
450: jPanel2.add(dstIpFlag);
451:
452: dstIpField.setEditable(false);
453: dstIpField.setToolTipText("Enter The Destination IP Address");
454: dstIpField.setMinimumSize(new java.awt.Dimension(97, 20));
455: dstIpField.setPreferredSize(new java.awt.Dimension(100, 20));
456: jPanel2.add(dstIpField);
457:
458: ipIdFlag.setFont(new java.awt.Font("Dialog", 0, 12));
459: ipIdFlag.setText("-I <ip id>");
460: ipIdFlag.addActionListener(new java.awt.event.ActionListener() {
461: public void actionPerformed(java.awt.event.ActionEvent evt) {
462: ipIdFlagActionPerformed(evt);
463: }
464: });
465:
466: jPanel2.add(ipIdFlag);
467:
468: ipIdField.setEditable(false);
469: ipIdField.setToolTipText("Enter the IP ID number");
470: ipIdField.setMinimumSize(new java.awt.Dimension(32, 20));
471: ipIdField.setPreferredSize(new java.awt.Dimension(32, 20));
472: jPanel2.add(ipIdField);
473:
474: ttlFlag.setFont(new java.awt.Font("Dialog", 0, 12));
475: ttlFlag.setText(" -T <ttl>");
476: ttlFlag.addActionListener(new java.awt.event.ActionListener() {
477: public void actionPerformed(java.awt.event.ActionEvent evt) {
478: ttlFlagActionPerformed(evt);
479: }
480: });
481:
482: jPanel2.add(ttlFlag);
483:
484: ttlField.setEditable(false);
485: ttlField.setMinimumSize(new java.awt.Dimension(60, 20));
486: ttlField.setPreferredSize(new java.awt.Dimension(40, 20));
487: jPanel2.add(ttlField);
488:
489: tosFlag.setFont(new java.awt.Font("Dialog", 0, 12));
490: tosFlag.setText("-t <tos>");
491: tosFlag.addActionListener(new java.awt.event.ActionListener() {
492: public void actionPerformed(java.awt.event.ActionEvent evt) {
493: tosFlagActionPerformed(evt);
494: }
495: });
496:
497: jPanel2.add(tosFlag);
498:
499: tosField.setEditable(false);
500: tosField.setToolTipText("Enter TOS");
501: tosField.setMinimumSize(new java.awt.Dimension(50, 20));
502: tosField.setPreferredSize(new java.awt.Dimension(50, 20));
503: jPanel2.add(tosField);
504:
505: fragOffSetFlag.setFont(new java.awt.Font("Dialog", 0, 12));
506: fragOffSetFlag.setText("-F <frag offset>");
507: fragOffSetFlag.addActionListener(new java.awt.event.ActionListener() {
508: public void actionPerformed(java.awt.event.ActionEvent evt) {
509: fragOffSetFlagActionPerformed(evt);
510: }
511: });
512:
513: jPanel2.add(fragOffSetFlag);
514:
515: fragOffSetField.setEditable(false);
516: fragOffSetField.setToolTipText("Enter the fragmentation off set");
517: fragOffSetField.setMinimumSize(new java.awt.Dimension(50, 20));
518: fragOffSetField.setPreferredSize(new java.awt.Dimension(50, 20));
519: jPanel2.add(fragOffSetField);
520:
521: ipOptFileBox.setFont(new java.awt.Font("Dialog", 0, 12));
522: ipOptFileBox.setText("-O <IP Options File>");
523: ipOptFileBox.addActionListener(new java.awt.event.ActionListener() {
524: public void actionPerformed(java.awt.event.ActionEvent evt) {
525: ipOptFileBoxActionPerformed(evt);
526: }
527: });
528:
529: jPanel2.add(ipOptFileBox);
530:
531: ipOptFileField.setEditable(false);
532: ipOptFileField.setToolTipText("/path/to/ip/options/file");
533: ipOptFileField.setPreferredSize(new java.awt.Dimension(250, 20));
534: jPanel2.add(ipOptFileField);
535:
536: ipOptionsFileChooser.setFont(new java.awt.Font("Dialog", 0, 12));
537: ipOptionsFileChooser.setText("../");
538: jPanel2.add(ipOptionsFileChooser);
539:
540: tcpPanel.add(jPanel2, java.awt.BorderLayout.CENTER);
541:
542: jPanel3.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2));
543:
544: 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)));
545: jPanel3.setMaximumSize(new java.awt.Dimension(32767, 52));
546: jPanel3.setMinimumSize(new java.awt.Dimension(10, 52));
547: jPanel3.setPreferredSize(new java.awt.Dimension(10, 52));
548: ethDevFlag.setFont(new java.awt.Font("Dialog", 0, 12));
549: ethDevFlag.setText("-d <Ethernet Device>");
550: ethDevFlag.addActionListener(new java.awt.event.ActionListener() {
551: public void actionPerformed(java.awt.event.ActionEvent evt) {
552: ethDevFlagActionPerformed(evt);
553: }
554: });
555:
556: jPanel3.add(ethDevFlag);
557:
558: ethDevField.setEditable(false);
559: ethDevField.setToolTipText("Enter the ethernet device you want to use");
560: ethDevField.setMinimumSize(new java.awt.Dimension(63, 20));
561: ethDevField.setPreferredSize(new java.awt.Dimension(63, 20));
562: jPanel3.add(ethDevField);
563:
564: srcMacFlag.setFont(new java.awt.Font("Dialog", 0, 12));
565: srcMacFlag.setText("-H");
566: srcMacFlag.setToolTipText("Source Mac Address");
567: srcMacFlag.addActionListener(new java.awt.event.ActionListener() {
568: public void actionPerformed(java.awt.event.ActionEvent evt) {
569: srcMacFlagActionPerformed(evt);
570: }
571: });
572:
573: jPanel3.add(srcMacFlag);
574:
575: srcMacField.setEditable(false);
576: srcMacField.setToolTipText("Source Mac Address");
577: srcMacField.setMinimumSize(new java.awt.Dimension(100, 20));
578: srcMacField.setPreferredSize(new java.awt.Dimension(100, 20));
579: jPanel3.add(srcMacField);
580:
581: dstMacFlag.setFont(new java.awt.Font("Dialog", 0, 12));
582: dstMacFlag.setText("-M");
583: dstMacFlag.setToolTipText("Destination Mac Address");
584: dstMacFlag.addActionListener(new java.awt.event.ActionListener() {
585: public void actionPerformed(java.awt.event.ActionEvent evt) {
586: dstMacFlagActionPerformed(evt);
587: }
588: });
589:
590: jPanel3.add(dstMacFlag);
591:
592: dstMacField.setEditable(false);
593: dstMacField.setToolTipText("Destination Mac Address");
594: dstMacField.setMinimumSize(new java.awt.Dimension(100, 20));
595: dstMacField.setPreferredSize(new java.awt.Dimension(100, 20));
596: jPanel3.add(dstMacField);
597:
598: tcpPanel.add(jPanel3, java.awt.BorderLayout.SOUTH);
599:
600: jtabbedPane1.addTab("TCP", tcpPanel);
601:
602: udpPanel.setLayout(new java.awt.BorderLayout());
603:
604: jPanel4.setLayout(new java.awt.BorderLayout());
605:
606: 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)));
607: jPanel4.setMaximumSize(new java.awt.Dimension(32767, 150));
608: jPanel4.setMinimumSize(new java.awt.Dimension(20, 150));
609: jPanel4.setPreferredSize(new java.awt.Dimension(20, 150));
610: jPanel7.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2));
611:
612: srcPrtFlag2.setFont(new java.awt.Font("Dialog", 0, 12));
613: srcPrtFlag2.setText("-x <src port>");
614: srcPrtFlag2.setToolTipText("Source Port Flag");
615: srcPrtFlag2.addActionListener(new java.awt.event.ActionListener() {
616: public void actionPerformed(java.awt.event.ActionEvent evt) {
617: srcPrtFlag2ActionPerformed(evt);
618: }
619: });
620:
621: jPanel7.add(srcPrtFlag2);
622:
623: srcPrtField2.setEditable(false);
624: srcPrtField2.setToolTipText("Enter the source port");
625: srcPrtField2.setMinimumSize(new java.awt.Dimension(35, 20));
626: srcPrtField2.setPreferredSize(new java.awt.Dimension(48, 20));
627: jPanel7.add(srcPrtField2);
628:
629: dstPrtFlag2.setFont(new java.awt.Font("Dialog", 0, 12));
630: dstPrtFlag2.setText("-y <dst port>");
631: dstPrtFlag2.setToolTipText("Destination Port Flag");
632: dstPrtFlag2.addActionListener(new java.awt.event.ActionListener() {
633: public void actionPerformed(java.awt.event.ActionEvent evt) {
634: dstPrtFlag2ActionPerformed(evt);
635: }
636: });
637:
638: jPanel7.add(dstPrtFlag2);
639:
640: dstPrtField2.setEditable(false);
641: dstPrtField2.setToolTipText("Enter Destination Port");
642: dstPrtField2.setMinimumSize(new java.awt.Dimension(35, 20));
643: dstPrtField2.setPreferredSize(new java.awt.Dimension(48, 20));
644: jPanel7.add(dstPrtField2);
645:
646: jPanel4.add(jPanel7, java.awt.BorderLayout.NORTH);
647:
648: jPanel12.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 2));
649:
650: payloadBox2.setFont(new java.awt.Font("Dialog", 0, 12));
651: payloadBox2.setText("-P <Payload File> ");
652: payloadBox2.setToolTipText("Payload File");
653: payloadBox2.addActionListener(new java.awt.event.ActionListener() {
654: public void actionPerformed(java.awt.event.ActionEvent evt) {
655: payloadBox2ActionPerformed(evt);
656: }
657: });
658:
659: jPanel12.add(payloadBox2);
660:
661: payloadField2.setEditable(false);
662: payloadField2.setToolTipText("path/to/payload/file");
663: payloadField2.setMinimumSize(new java.awt.Dimension(200, 20));
664: payloadField2.setPreferredSize(new java.awt.Dimension(250, 20));
665: jPanel12.add(payloadField2);
666:
667: payloadFileChooser1.setText("../");
668: jPanel12.add(payloadFileChooser1);
669:
670: jPanel4.add(jPanel12, java.awt.BorderLayout.WEST);
671:
672: udpPanel.add(jPanel4, java.awt.BorderLayout.NORTH);
673:
674: jPanel5.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT, 5, 3));
675:
676: 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)));
677: jPanel5.setMaximumSize(new java.awt.Dimension(32767, 86));
678: jPanel5.setMinimumSize(new java.awt.Dimension(1228, 86));
679: jPanel5.setPreferredSize(new java.awt.Dimension(1460, 86));
680: srcIpFlag1.setFont(new java.awt.Font("Dialog", 0, 12));
681: srcIpFlag1.setText("-S <src ip>");
682: srcIpFlag1.addActionListener(new java.awt.event.ActionListener() {
683: public void actionPerformed(java.awt.event.ActionEvent evt) {
684: srcIpFlag1ActionPerformed(evt);
685: }
686: });
687:
688: jPanel5.add(srcIpFlag1);
689:
690: srcIpField1.setEditable(false);
691: srcIpField1.setToolTipText("Enter The Source IP Address");
692: srcIpField1.setMinimumSize(new java.awt.Dimension(97, 20));
693: srcIpField1.setPreferredSize(new java.awt.Dimension(100, 20));
694: jPanel5.add(srcIpField1);
695:
696: dstIpFlag1.setFont(new java.awt.Font("Dialog", 0,