aboutsummaryrefslogtreecommitdiffstats
path: root/docbook/wsug_src/WSUG_chapter_work.xml
blob: e78ac4fb7b4738972e1dc3e7817b2513cc7e9724 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
<!-- WSUG Chapter Work -->
<!-- $Id$ -->

<chapter id="ChapterWork">
  <title>Working with captured packets</title>

  <section id="ChWorkViewPacketsSection">
    <title>Viewing packets you have captured</title>
    <para>
      Once you have captured some packets, or you have opened a previously 
      saved capture file, you can view the packets that are displayed in 
      the packet list pane by simply clicking on a packet in the 
      packet list pane, which will bring up the selected packet in the 
      tree view and byte view panes.
    </para>
    <para>
      You can then expand any part of the tree view by clicking on the 
      <command>plus</command> sign (the symbol itself may vary) to the left of 
	  that part of the payload, 
      and you can select individual fields by clicking on them in the tree 
      view pane. An example with a TCP packet selected is shown in 
      <xref linkend="ChWorkSelPack1"/>. It also has the Acknowledgment number 
	in the TCP header selected, which shows up in the byte view as the 
	selected bytes.
	<figure id="ChWorkSelPack1">
	  <title>Wireshark with a TCP packet selected for viewing</title>
	  <graphic entityref="WiresharkPacketSelected1" format="PNG"/>
	</figure>
    </para>
    <para>
      You can also select and view packets the same way, while Wireshark is 
	  capturing, if you selected "Update list of packets in real time" in the 
	  Wireshark Capture Preferences dialog box.
    </para>
    <para>
      In addition, you can view individual packets in a separate window as 
      shown in <xref linkend="ChWorkPacketSepView"/>. Do this by selecting the 
	packet in which you are interested in the packet list pane, and then 
	select "Show Packet in New Windows" from the Display menu. This 
	allows you to easily compare two or even more packets.
	<figure id="ChWorkPacketSepView">
	  <title>Viewing a packet in a separate window</title>
	  <graphic entityref="WiresharkPacketSepView" format="PNG"/>
	</figure>
    </para>
  </section>
  
  <section id="ChWorkDisplayPopUpSection"><title>Pop-up menus</title>
    <para>
      You can bring up a pop-up menu over either the "Packet List", 
      "Packet Details" or "Packet Bytes" pane by clicking your right 
	  mouse button at the corresponding pane.
    </para>	
  <section id="ChWorkPacketListPanePopUpMenuSection">
    <title>Pop-up menu of the "Packet List" pane</title>
    <para>
      <figure id="ChWorkPacketListPanePopUpMenu">
	<title>Pop-up menu of the "Packet List" pane</title>
	<graphic entityref="WiresharkPacketPanePopupMenu" format="PNG"/>
      </figure>
	</para>
	  <para>
	  The following table gives an overview of which functions are available 
	  in this pane, where to find the corresponding function in the main menu, 
	  and a short description of each item.
	  </para>
	<table id="PacketListPopupMenuTable">
	  <title>The menu items of the "Packet List" pop-up menu</title>
	  <tgroup cols="3">
		<colspec colnum="1" colwidth="80pt"/>
		<colspec colnum="2" colwidth="80pt"/>
	    <thead>
	      <row>
		<entry>Item</entry>
		<entry>Identical to main menu's item:</entry>
		<entry>Description</entry>
	      </row>
	    </thead>
	    <tbody>
	      <row>
		<entry><command>Mark Packet (toggle)</command></entry>
		<entry>Edit</entry>
		<entry>
	    <para>
	      Mark/unmark a packet.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Set Time Reference (toggle)</command></entry>
		<entry>Edit</entry>
		<entry>
	    <para>
	      Set/reset a time reference.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Apply as Filter</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Prepare and apply a display filter based on the currently selected 
		  item.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Prepare a Filter</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Prepare a display filter based on the currently selected item.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Conversation Filter</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
	      This menu item applies a display filter with the address information 
		  from the selected packet. E.g. the IP menu entry will set a filter 
		  to show the traffic between the two IP addresses of the current 
		  packet.
		  XXX - add a new section describing this better.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Colorize Conversation</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
	      This menu item uses a display filter with the address information 
		  from the selected packet to build a new colorizing rule.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>SCTP</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
		  XXX - add an explanation of this.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Follow TCP Stream</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Allows you to view all the data on a TCP 
	      stream between a pair of nodes.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Follow SSL Stream</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
	      Same as "Follow TCP Stream" but for SSL.
		  XXX - add a new section describing this better.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
		  <row>
		<entry><command>Copy/ Summary (Text)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the summary fields as displayed to the clipboard, as tab-separated text.
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Summary (CSV)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the summary fields as displayed to the clipboard, as comma-separated text.
		</para>
		</entry>
		  </row>
		  <row>
		    <entry><command>Copy/ As Filter</command></entry>
		    <entry></entry>
	 	    <entry>
	            <para>
	 	      Prepare a display filter based on the currently selected item
		      and copy that filter to the clipboard.
	            </para>
	 	    </entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Offset Hex Text)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard in hexdump-like format.
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Offset Hex)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard in hexdump-like format, but without the text portion.
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Printable Text Only)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as ASCII text, excluding non-printable characters.
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Hex Stream)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as an unpunctuated list of hex digits.
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Binary Stream)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as raw binary. The data is stored in the
		  clipboard as MIME-type "application/octet-stream".</para>
		<para>This option is not available in versions of Wireshark built using GTK+ 1.x.</para>
		</entry>
		  </row>
	      <row>
		<entry><command>Export Selected Packet Bytes...</command></entry>
		<entry>File</entry>
		<entry>
	    <para>
	      This menu item is the same as the File menu item of the same 
	      name. It allows you to export raw packet bytes to a binary file.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Decode As...</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Change or apply a new relation between two dissectors. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Print...</command></entry>
		<entry>File</entry>
		<entry>
	    <para>
		  Print packets.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Show Packet in New Window</command></entry>
		<entry>View</entry>
		<entry>
	    <para>
		  Display the selected packet in a new window.
	    </para>
		</entry>
	      </row>
	    </tbody>
	  </tgroup>
	</table>
  </section>
  
  <section id="ChWorkPacketDetailsPanePopUpMenuSection">
    <title>Pop-up menu of the "Packet Details" pane</title>
    <para>
      <figure id="ChWorkPacketDetailsPanePopUpMenu">
	<title>Pop-up menu of the "Packet Details" pane</title>
	<graphic entityref="WiresharkDetailsPanePopupMenu" format="PNG"/>
      </figure>
	  </para>
	  <para>
	  The following table gives an overview of which functions are available 
	  in this pane, where to find the corresponding function in the main menu, 
	  and a short description of each item.
	  </para>
	<table id="PacketDetailsPopupMenuTable">
	  <title>The menu items of the "Packet Details" pop-up menu</title>
	  <tgroup cols="3">
		<colspec colnum="1" colwidth="80pt"/>
		<colspec colnum="2" colwidth="80pt"/>
	    <thead>
	      <row>
		<entry>Item</entry>
		<entry>Identical to main menu's item:</entry>
		<entry>Description</entry>
	      </row>
	    </thead>
	    <tbody>
	      <row>
		<entry><command>Expand Subtrees</command></entry>
		<entry>View</entry>
		<entry>
	    <para>
	      Expand the currently selected subtree. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Expand All</command></entry>
		<entry>View</entry>
		<entry>
	    <para>
	      Expand all subtrees in all packets in the capture. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Collapse All</command></entry>
		<entry>View</entry>
		<entry>
	    <para>
	      Wireshark keeps a list of all the protocol subtrees that are 
	      expanded, and uses it to ensure that the correct subtrees 
	      are expanded when you display a packet. This menu item 
	      collapses the tree view of all packets in the capture list.  
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Copy/ Description</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
	      Copy the displayed text of the selected field to the system 
		  clipboard. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Copy/ As Filter</command></entry>
		<entry>Edit</entry>
		<entry>
	    <para>
		  Prepare a display filter based on the currently selected item
		  and copy it to the clipboard.
	    </para>
		</entry>
	      </row>
		  <row>
		<entry><command>Copy/ Bytes (Offset Hex Text)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard in hexdump-like format; similar to the Packet List Pane 
		  command, but copies only the bytes relevant to the selected part of the tree (the bytes selected
		  in the Packet Bytes Pane).
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Offset Hex)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard in hexdump-like format, but without the text portion; similar to the 		Packet List Pane 
		  command, but copies only the bytes relevant to the selected part of the tree (the bytes selected
		  in the Packet Bytes Pane).
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Printable Text Only)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as ASCII text, excluding non-printable characters; similar to the Packet List Pane 
		  command, but copies only the bytes relevant to the selected part of the tree (the bytes selected
		  in the Packet Bytes Pane).
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Hex Stream)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as an unpunctuated list of hex digits; similar to the Packet List Pane 
		  command, but copies only the bytes relevant to the selected part of the tree (the bytes selected
		  in the Packet Bytes Pane).
		</para>
		</entry>
		  </row>
		  <row>
		<entry><command>Copy/ Bytes (Binary Stream)</command></entry>
		<entry>-</entry>
		<entry>
		<para>
		  Copy the packet bytes to the clipboard as raw binary; similar to the Packet List Pane 
		  command, but copies only the bytes relevant to the selected part of the tree (the bytes selected
		  in the Packet Bytes Pane). The data is stored in the
		  clipboard as MIME-type "application/octet-stream".</para>
		<para>This option is not available in versions of Wireshark built using GTK+ 1.x.</para>
		</entry>
		  </row>
	      <row>
		<entry><command>Export Selected Packet Bytes...</command></entry>
		<entry>File</entry>
		<entry>
	    <para>
	      This menu item is the same as the File menu item of the same 
	      name. It allows you to export raw packet bytes to a binary file.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Apply as Filter</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
	      Prepare and apply a display filter based on the currently 
			selected item. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Prepare a Filter</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Prepare a display filter based on the currently selected item. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Colorize with Filter</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
		  Prepare a display filter based on the currently selected item
          and use it to prepare a new colorize rule.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Follow TCP Stream</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Allows you to view all the data on a TCP stream between a pair 
		  of nodes.
		</para>
		</entry>
	      </row>
	      <row>
		<entry><command>Follow SSL Stream</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
	      Same as "Follow TCP Stream" but for SSL.
		  XXX - add a new section describing this better.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Wiki Protocol Page</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
	      Show the wiki page corresponding to the currently selected protocol 
		  in your web browser.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Filter Field Reference</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
		  Show the filter field reference web page corresponding to the 
		  currently selected protocol in your web browser.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Protocol Preferences...</command></entry>
		<entry>-</entry>
		<entry>
	    <para>
	      The menu item takes you to the properties dialog and selects the 
		  page corresponding to the protocol if there are properties 
		  associated with the highlighted field.  
	      More information on preferences can be found in 
	      <xref linkend="ChCustGUIPrefPage"/>.
	    </para>
		</entry>
	      </row>
	      <row>
		<entry>-----</entry>
		<entry></entry>
		<entry></entry>
	      </row>
	      <row>
		<entry><command>Decode As...</command></entry>
		<entry>Analyze</entry>
		<entry>
	    <para>
		  Change or apply a new relation between two dissectors. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Resolve Name</command></entry>
		<entry>View</entry>
		<entry>
	    <para>
	      Causes a name resolution to be performed for 
	      the selected packet, but NOT every packet in the capture. 
	    </para>
		</entry>
	      </row>
	      <row>
		<entry><command>Go to Corresponding Packet</command></entry>
		<entry>Go</entry>
		<entry>
	    <para>
	      If the selected field has a corresponding packet, go to it. 
		  Corresponding packets will usually be a request/response packet pair 
		  or such.
	    </para>
		</entry>
	      </row>
		</tbody>
	  </tgroup>
	</table>
  </section>
  
  </section>
  
  <section id="ChWorkDisplayFilterSection">
    <title>Filtering packets while viewing</title>
    <para>
      Wireshark has two filtering languages: One used when capturing 
      packets, and one used when displaying packets.  In this section we 
      explore that second type of filter: Display filters.  The first one 
      has already been dealt with in 
	  <xref linkend="ChCapCaptureFilterSection"/>.
    </para>
    <para>
      Display filters allow you to concentrate on the packets you are 
      interested in while hiding the currently uninteresting ones. They allow 
	  you to select packets by:
	<itemizedlist>
	  <listitem><para>Protocol</para></listitem>
	  <listitem><para>The presence of a field</para></listitem>
	  <listitem><para>The values of fields</para></listitem>
	  <listitem><para>A comparison between fields</para></listitem>
	  <listitem><para>... and a lot more!</para></listitem>
      </itemizedlist>
    </para>
    <para>
      To select packets based on protocol type, simply type the protocol in which you 
      are interested in the <command>Filter:</command> field in the filter 
	  toolbar of the Wireshark window and press enter to initiate 
      the filter. <xref linkend="ChWorkTCPFilter"/> shows an example of what 
	happens when you type <command>tcp</command> in the filter field.
    </para>
    <note>
      <title>Note!</title>
      <para>
	All protocol and field names are entered in lowercase.  Also, don't 
	forget to press enter after entering the filter expression.
      </para>
    </note>
    <figure id="ChWorkTCPFilter"><title>Filtering on the TCP protocol</title>
      <graphic entityref="WiresharkFilterTCP" format="JPG"/>
    </figure>
    <para>
	As you might have noticed, only packets of the TCP protocol are displayed 
	now (e.g. packets 1-10 are hidden). The packet numbering will remain as 
	before, so the first packet shown is now packet number 11.
    </para>
    <note>
      <title>Note!</title>
      <para>
	  When using a display filter, all packets remain in the capture file.
	  The display filter only changes the display of the capture file but
	  not its content!	  
      </para>
    </note>
    <para>
      You can filter on any protocol that Wireshark understands.  
      You can also filter on any field that a dissector adds to the tree 
      view, but only if the dissector has added an abbreviation for the 
      field. A list of such fields is available in Wireshark in the 
      <command>Add Expression...</command> dialog box.  You can find more 
      information on the <command>Add Expression...</command> dialog box 
      in <xref linkend="ChWorkFilterAddExpressionSection"/>.
    </para>
    <para>
      For example, to narrow the packet list pane down to only those 
      packets to or from the IP address 192.168.0.1, use 
      <command>ip.addr==192.168.0.1</command>.
    </para>    
    <note>
      <title>Note!</title>
      <para>
	To remove the filter, click on the <command>Clear</command> button 
	to the right of the filter field.
      </para>
    </note>
    </section>
	
    <section id="ChWorkBuildDisplayFilterSection">
      <title>Building display filter expressions</title>
      <para>
	Wireshark provides a simple but powerful display filter language that allows you 
	to build quite complex filter expressions.  You can compare 
	values in packets as well as combine expressions into more 
	specific expressions.  The following sections provide more 
	information on doing this.
      </para>
    <tip>
      <title>Tip!</title>
      <para>
	  You will find a lot of Display Filter examples at the <command>Wireshark 
	  Wiki Display Filter page</command> at <ulink 
	  url="&WiresharkWikiDisplayFiltersPage;">&WiresharkWikiDisplayFiltersPage;</ulink>.
      </para>
    </tip>
      <section>
	<title>Display filter fields</title>
	<para>
	Every field in the packet details pane can be used as a filter 
	string, this will result in showing only the packets where this field 
	exists. For example: the 
	filter string: <command>tcp</command> will show all packets containing the 
	tcp protocol. 
	</para>
	<para>
	There is a complete list of all filter fields available
	through the menu item "Help/Supported Protocols" in the page "Display Filter 
	Fields" of the Supported Protocols dialog. 
	</para>
	<para>
	XXX - add some more info here and a link to the statusbar info.
	</para>
      </section>
      <section>
	<title>Comparing values</title>
	<para>
	  You can build display filters that compare values using a number 
	  of different comparison operators.  They are shown in 
	  <xref linkend="DispCompOps"/>.
	</para>
	<tip><title>Tip!</title>
	<para>
	You can use English and C-like terms in the same way, they can even be 
	mixed in a filter string!
	</para>
	</tip>
	<table id="DispCompOps">
	  <title>Display Filter comparison operators</title>
	  <tgroup cols="3">
		<colspec colnum="1" colwidth="50pt"/>
		<colspec colnum="2" colwidth="50pt"/>
	    <thead>
	      <row>
		<entry>English</entry>
		<entry>C-like</entry>
		<entry>Description and example</entry>
	      </row>
	    </thead>
	    <tbody>
	      <row>
		<entry>eq</entry>
		<entry><programlisting>==</programlisting></entry>
		<entry><para>
		    <command>Equal</command></para><para>
		    <programlisting>ip.addr==10.0.0.5</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>ne</entry>
		<entry><programlisting>!=</programlisting></entry>
		<entry><para>
		    <command>Not equal</command></para><para>
		    <programlisting>ip.addr!=10.0.0.5</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>gt</entry>
		<entry><programlisting>&gt;</programlisting></entry>
		<entry><para>
		    <command>Greater than</command></para><para>
		    <programlisting>frame.pkt_len &gt; 10</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>lt</entry>
		<entry><programlisting>&lt;</programlisting></entry>
		<entry><para><command>Less than</command></para><para>
		    <programlisting>frame.pkt_len &lt; 128</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>ge</entry>
		<entry><programlisting>&gt;=</programlisting></entry>
		<entry><para>
		    <command>Greater than or equal to</command></para><para>
		    <programlisting>frame.pkt_len ge 0x100</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>le</entry>
		<entry><programlisting>&lt;=</programlisting></entry>
		<entry><para>
		    <command>Less than or equal to</command></para><para>
		    <programlisting>frame.pkt_len &lt;= 0x20</programlisting>
		  </para></entry>
	      </row>
	    </tbody>
	  </tgroup>
	</table>
	<para>
	  In addition, all protocol fields are typed. 
	  <xref linkend="ChWorkFieldTypes"/> provides a list of the types and 
	    example of how to express them.
	    <table id="ChWorkFieldTypes">
	      <title>Display Filter Field Types</title>
	      <tgroup cols="2">
		<thead>
		  <row>
		    <entry>Type</entry>
		    <entry>Example</entry>
		  </row>
		</thead>
		<tbody>
		  <row>
		    <entry>
		      Unsigned integer (8-bit, 16-bit, 24-bit, 32-bit)
		    </entry>
		    <entry><para>
			You can express integers in decimal, octal, or 
			hexadecimal. The following display filters are 
			equivalent:
			<programlisting>
ip.len le 1500
ip.len le 02734
ip.len le 0x436
			</programlisting>
		      </para></entry>
		  </row>
		  <row>
		    <entry>
		      Signed integer (8-bit, 16-bit, 24-bit, 32-bit)
		    </entry>
		    <entry></entry>
		  </row>
		  <row>
		    <entry>Boolean</entry>
		    <entry><para>
			A boolean field is present in the protocol decode 
			only if its value is true. For example, 
			<command>tcp.flags.syn</command> is present, and 
			thus true, only if the SYN flag is present in a 
			TCP segment header.</para><para>
			Thus the filter expression 
			<command>tcp.flags.syn</command> will select only 
			those packets for which this flag exists, that is, 
			TCP segments where the segment header contains the 
			SYN flag. Similarly, to find source-routed token 
			ring packets, use a filter expression of 
			<command>tr.sr</command>.
		      </para></entry>
		  </row>
		  <row>
		    <entry>Ethernet address (6 bytes)</entry>
		    <entry><para>Separators can be a colon
			(:), dot (.) or dash (-) and can have one or
			two bytes between separators:<programlisting>
eth.addr == ff:ff:ff:ff:ff:ff
eth.addr == ff-ff-ff-ff-ff-ff
eth.addr == ffff.ffff.ffff</programlisting></para></entry>
		  </row>
		  <row>
		    <entry>IPv4 address</entry>
		    <entry>
                <para>ip.addr == 192.168.0.1</para>
                <para>Classless InterDomain Routing (CIDR) notation
                can be used to test if an IPv4 address is in a
                certain subnet. For example, this display filter
                will find all packets in the 129.111 Class-B
                network:
                </para><para>ip.addr == 129.111.0.0/16</para></entry>
		  </row>
		  <row>
		    <entry>IPv6 address</entry>
		    <entry>ipv6.addr == ::1</entry>
		  </row>
		  <row>
		    <entry>IPX address</entry>
		    <entry>ipx.addr == 00000000.ffffffffffff</entry>
		  </row>
		  <row>
		    <entry>String (text)</entry>
		    <entry>http.request.uri == "http://www.wireshark.org/"</entry>
		  </row>
		</tbody>
	      </tgroup>
	    </table>
	</para>
      </section>
      <section>
	<title>Combining expressions</title>
	<para>
	  You can combine filter expressions in Wireshark using the 
	  logical operators shown in <xref linkend="FiltLogOps"/>
	</para>
	<table id="FiltLogOps">
	  <title>Display Filter Logical Operations</title>
	  <tgroup cols="3">
		<colspec colnum="1" colwidth="50pt"/>
		<colspec colnum="2" colwidth="50pt"/>
	    <thead>
	      <row>
		<entry>English</entry>
		<entry>C-like</entry>
		<entry>Description and example</entry>
	      </row>
	    </thead>
	    <tbody>
	      <row>
		<entry>and</entry>
		<entry>&amp;&amp;</entry>
		<entry><para>
		    <command>Logical AND</command></para><para>
		    <programlisting>ip.addr==10.0.0.5 and tcp.flags.fin</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>or</entry>
		<entry>||</entry>
		<entry><para>
		    <command>Logical OR</command></para><para>
		    <programlisting>ip.addr==10.0.0.5 or ip.addr==192.1.1.1</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>xor</entry>
		<entry>^^</entry>
		<entry><para>
		    <command>Logical XOR</command></para><para>
		    <programlisting>tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>not</entry>
		<entry>!</entry>
		<entry><para>
		    <command>Logical NOT</command></para><para>
		    <programlisting>not llc</programlisting>
		  </para></entry>
	      </row>
	      <row>
		<entry>[...]</entry>
		<entry></entry>
		<entry><para>
		    <command>Substring Operator</command></para><para>
		    Wireshark allows you to select subsequences of a 
		    sequence in rather elaborate ways.  After a label you 
		    can place a pair of brackets [] containing a comma 
		    separated list of range specifiers. </para><para>
		    <programlisting>eth.src[0:3] == 00:00:83</programlisting></para><para>
		    The example above uses the n:m format to specify a 
		    single range.  In this case n is the beginning offset 
		    and m is the length of the range 
		    being specified.</para><para>
		    <programlisting>
eth.src[1-2] == 00:83
		    </programlisting></para><para>
		    The example above uses the n-m format to specify a 
		    single range. In this case n is the beginning offset 
		    and m is the ending offset. </para><para>
		    <programlisting>eth.src[:4] == 00:00:83:00</programlisting></para><para>
		    The example above uses the :m format, which takes 
		    everything from the beginning of a sequence to offset m.  
		    It is equivalent to 0:m</para><para>
		    <programlisting>eth.src[4:] == 20:20</programlisting></para><para>
		    The example above uses the n: format, which takes 
		    everything from offset n to the end of the 
		    sequence. </para><para>
		    <programlisting>eth.src[2] == 83</programlisting></para><para>
		    The example above uses the n format to specify a 
		    single range.  In this case the element in the 
		    sequence at offset n is selected.  This is equivalent 
		    to n:1.</para><para>
		    <programlisting>eth.src[0:3,1-2,:4,4:,2] == 
00:00:83:00:83:00:00:83:00:20:20:83</programlisting></para><para>
		    Wireshark allows you to string together single ranges 
		    in a comma separated list to form compound ranges as 
		    shown above.
		  </para></entry>
	      </row>
	    </tbody>
	  </tgroup>
	</table>
      </section>
      <section><title>A common mistake</title>
	  <warning><title>Warning!</title>
	  <para>
	  Using the != operator on combined expressions like: eth.addr, ip.addr, 
	  tcp.port, udp.port and alike will probably not work as expected!
	  </para>
	  </warning>
	  <para>
	  Often people use a filter string to display something like 
	  <command>ip.addr == 1.2.3.4</command> which will display all packets
	  containing the IP address 1.2.3.4.
	  </para>
	  <para>
	  Then they use <command>ip.addr != 1.2.3.4</command> to see all packets 
	  not containing the IP address 1.2.3.4 in it. Unfortunately, this does 
	  <command>not</command> do the expected.
	  </para>
	  <para>
	Instead, that expression will even be true for packets where either
	source or destination IP address equals 1.2.3.4. The reason for this,
	is that the expression <command>ip.addr != 1.2.3.4</command> must be read as "the
	packet contains a field named ip.addr with a value
	different from 1.2.3.4". As an IP datagram contains both a source and
	a destination address, the expression will evaluate to true whenever
	at least one of the two addresses differs from 1.2.3.4. 
	  </para>
	  <para>
	If you want to
	filter out all packets containing IP datagrams to or from IP address
	1.2.3.4, then the correct filter is <command>!(ip.addr == 1.2.3.4)</command> as it
	reads "show me all the packets for which it is not true
	that a field named ip.addr exists with a value of 1.2.3.4", or in
	other words, "filter out all packets for which there are
	no occurrences of a field named ip.addr with the value 1.2.3.4".
	  </para>
      </section>
  </section>
  
  <section id="ChWorkFilterAddExpressionSection">
  <title>The "Filter Expression" dialog box</title>
    <para>
      When you are accustomed to Wireshark's filtering system and know what 
      labels you wish to use in your filters it can be very quick to 
      simply type a filter string.  However if you are new to Wireshark or 
      are working with a slightly unfamiliar protocol it can be very 
      confusing to try to figure out what to type.  The Filter Expression 
      dialog box helps with this.
    </para>
    <tip><title>Tip!</title>
	<para>
      The "Filter Expression" dialog box is an excellent way to learn how to 
	  write Wireshark display filter strings.
	</para>
    </tip>
    <figure id="ChWorkFilterAddExpression1">
      <title>The "Filter Expression" dialog box</title>
      <graphic entityref="WiresharkFilterAddExpression" format="PNG"/>
    </figure>
    <para>
      When you first bring up the Filter Expression dialog box you are shown a 
      tree list of field names, organized by protocol, and a box for 
      selecting a relation.
    </para>
    <variablelist>
      <varlistentry><term><command>Field Name</command></term>
	<listitem>
	  <para>
	    Select a protocol field from the protocol field tree.  
	    Every protocol with filterable fields is listed at the 
	    top level.  (You can search for a particular protocol
            entry by entering the first few letters of the protocol name).
            By clicking on the "+" next to a protocol name 
	    you can get a list of the field names available for filtering 
	    for that protocol.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry><term><command>Relation</command></term>
	<listitem>
	  <para>
	    Select a relation from the list of available relation.  
	    The <command>is present</command> is a unary relation which 
	    is true if the selected field is present in a packet.  All 
	    other listed relations are binary relations which require additional 
	    data (e.g. a <command>Value</command> to match) to complete.
	  </para>
	</listitem>
      </varlistentry>
    </variablelist>
    <para> 
      When you select a field from the field name list and select a 
      binary relation (such as the equality relation ==) you will be 
      given the opportunity to enter a value, and possibly some range 
      information. 
    </para>
    <variablelist>
      <varlistentry><term><command>Value</command></term>
	<listitem>
	  <para>
	    You may enter an appropriate value in the 
	    <command>Value</command> text box.  The <command>Value</command> 
	    will also indicate the type of value for the 
	    <command>field name</command> you have selected (like 
	    character string).
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry><term><command>Predefined values</command></term>
	<listitem>
	  <para>
	  Some of the protocol fields have predefined values available, much like
	  enum's in C. If the selected protocol field has such values defined, you
	  can choose one of them here.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry><term><command>Range</command></term>
	<listitem>
	  <para>
	  XXX - add an explanation here!
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry><term><command>OK</command></term>
	<listitem>
	  <para>
	    When you have built a satisfactory expression click 
	    <command>OK</command> and a filter string will be 
	    built for you. 
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry><term><command>Cancel</command></term>
	<listitem>
	  <para>
	    You can leave the <command>Add Expression...</command> dialog 
	    box without any effect by clicking the <command>Cancel</command>
		button.
	  </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </section>

  <section id="ChWorkDefineFilterSection"><title>Defining and saving filters</title>
    <para>
      You can define filters with Wireshark and give them labels for 
      later use.  This can save time in remembering and retyping some of 
      the more complex filters you use.
    </para>
    <para>
      To define a new filter or edit an existing one, select the 
      <command>Capture Filters...</command> menu item from the Capture menu 
	  or the <command>Display Filters...</command> menu item from the Analyze 
	  menu. Wireshark will then pop up the Filters dialog as shown in 
	  <xref linkend="FiltersDialog"/>.
    </para>
	<note>
	  <title>Note!</title>
	  <para>
		The mechanisms for defining and saving capture filters and display 
		filters are almost identical. So both will be described here, 
		differences between these two will be marked as such.
	  </para>
	</note>
	<warning><title>Warning!</title>
	<para>
	You must use <command>Save</command> to save your filters permanently. 
	<command>Ok</command> or <command>Apply</command> will not save the filters,
	so they will be lost when you close Wireshark.
	</para>
	</warning>
    <figure id="FiltersDialog">
      <title>The "Capture Filters" and "Display Filters" dialog boxes</title>
      <graphic entityref="WiresharkFilters" format="PNG"/>
    </figure>
    <para>
      <variablelist>
	<varlistentry><term><command>New</command></term>
	  <listitem>
	    <para>
	      This button adds a new filter to the list of filters. The currently 
		  entered values from Filter name and Filter string will be used. If 
		  any of these fields are empty, it will be set to "new".
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Delete</command></term>
	  <listitem>
	  <para>
	  This button deletes the selected filter. It will be greyed out, if no 
	  filter is selected.
	  </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Filter</command></term>
	  <listitem>
	    <para>
		You can select a filter from this list (which will fill in the 
		filter name and filter string in the fields down at the bottom of the 
		dialog box).
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Filter name:</command></term>
	  <listitem>
	    <para>
		You can change the name of the currently selected filter here.
	    </para>
		<note><title>Note!</title>
		<para>
		The filter name will only be used in this dialog to identify the 
		filter for your convenience, it will not be used elsewhere. You can 
		add multiple filters with the same name, but this is not very useful.
		</para>
		</note>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Filter string:</command></term>
	  <listitem>
	    <para>
		You can change the filter string of the currently selected filter here.
		Display Filter only: the string will be syntax checked while you are 
		typing.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Add Expression...</command></term>
	  <listitem>
	    <para>
	      Display Filter only: This button brings up the Add Expression 
		  dialog box which assists in building filter strings.  You can find 
		  more information about the Add Expression dialog in 
	      <xref linkend="ChWorkFilterAddExpressionSection"/>
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>OK</command></term>
	  <listitem>
	    <para>
	      Display Filter only: This button applies the selected filter to the 
		  current display and closes the dialog.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Apply</command></term>
	  <listitem>
	    <para>
	      Display Filter only: This button applies the selected filter to the 
		  current display, and keeps the dialog open.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Save</command></term>
	  <listitem>
	    <para>
	      Save the current settings in this dialog. The file location and 
		  format is explained in <xref linkend="AppFiles"/>.
	    </para>
	  </listitem>
	</varlistentry>
	<varlistentry><term><command>Close</command></term>
	  <listitem>
	    <para>
	      Close this dialog. This will discard unsaved settings.
	    </para>
	  </listitem>
	</varlistentry>
      </variablelist>
    </para>
  </section>
  
  <section id="ChWorkFindPacketSection"><title>Finding packets</title>
    <para>
      You can easily find packets once you have captured some packets or 
      have read in a previously saved capture file. Simply select the 
      <command>Find Packet...</command> menu item from the 
      <command>Edit</command> menu.  Wireshark will pop up the dialog box 
      shown in <xref linkend="ChWorkFindPacketDialog"/>.
    </para>
	<section><title>The "Find Packet" dialog box</title>
    <figure id="ChWorkFindPacketDialog">
      <title>The "Find Packet" dialog box</title>
      <graphic entityref="WiresharkFindPacket" format="PNG"/>
    </figure>
    <para>
	You might first select the kind of thing to search for:
	<itemizedlist>
		<listitem>
			<para>
    		<command>Display filter</command>
			</para>
			<para>
			Simply enter a display filter string into the 
			<command>Filter:</command> field, select a direction, and click on OK.
			</para>
			<para>
			For example, to find the three way handshake for a connection from 
			host 192.168.0.1, use the following filter string:
			<programlisting>ip.addr==192.168.0.1 and tcp.flags.syn</programlisting>
			For more details on display filters, see <xref linkend="ChWorkDisplayFilterSection"/>
			</para>
		</listitem>
		<listitem>
			<para>
    		<command>Hex Value</command>
			</para>
			<para>
			Search for a specific byte sequence in the packet data.
			</para>
			<para>
			For example, use "00:00" to find the next packet including two 
			null bytes in the packet data.
			</para>
		</listitem>
		<listitem>
			<para>
    		<command>String</command>
			</para>
			<para>
			Find a string in the packet data, with various options.
			</para>
		</listitem>
	</itemizedlist>
    </para>
    <para>
	The value to be found will be syntax checked while you type it in. If the 
	syntax check of your value succeeds, the background of the entry field 
	will turn green, if it fails, it will turn red.
	</para>
    <para>
	You can choose the search direction:
	<itemizedlist>
		<listitem>
    		<para><command>Up</command></para>
			<para>Search upwards in the packet list (decreasing packet numbers).</para>
		</listitem>
	</itemizedlist>
	<itemizedlist>
		<listitem>
    		<para><command>Down</command></para>
			<para>Search downwards in the packet list (increasing packet numbers).</para>
		</listitem>
	</itemizedlist>
	</para>
  </section>
  <section><title>The "Find Next" command</title>
    <para>
	"Find Next" will continue searching with the same options used in the last 
	"Find Packet".
	</para>
  </section>
  <section><title>The "Find Previous" command</title>
    <para>
	"Find Previous" will do the same thing as "Find Next", but with reverse 
	search direction.
	</para>
  </section>
  </section>
    
  <section id="ChWorkGoToPacketSection"><title>Go to a specific packet</title>
  <para>
  You can easily jump to specific packets with one of the menu items in the 
  Go menu.  
  </para>
  <section><title>The "Go Back" command</title>
  <para>
  Go back in the packet history, works much like the page history in current 
  web browsers.
  </para>
  </section>
  <section><title>The "Go Forward" command</title>
  <para>
  Go forward in the packet history, works much like the page history in 
  current web browsers.
  </para>
  </section>
  <section><title>The "Go to Packet" dialog box</title>
    <figure id="ChWorkGoToPacketDialog">
      <title>The "Go To Packet" dialog box</title>
      <graphic entityref="WiresharkGoToPacket" format="PNG"/>
    </figure>
    <para>
	This dialog box will let you enter a packet number. When you press 
	<command>OK</command>, Wireshark will jump to that packet.
	</para>
  </section>
  <section><title>The "Go to Corresponding Packet" command</title>
    <para>
	If a protocol field is selected which points to another packet in the 
	capture file, this command will jump to that packet.
	</para>
    <note><title>Note!</title>
    <para>
	As these protocol fields now work like links (just as in your 
	Web browser), it's easier to simply double-click on the field to jump
	to the corresponding field.
    </para>
    </note>
  </section>
  <section><title>The "Go to First Packet" command</title>
    <para>
	This command will simply jump to the first packet displayed.
	</para>
  </section>
  <section><title>The "Go to Last Packet" command</title>
    <para>
	This command will simply jump to the last packet displayed.
	</para>
  </section>
  </section>
    
  <section id="ChWorkMarkPacketSection"><title>Marking packets</title>
    <para>
	You can mark packets in the "Packet List" pane. A marked packet will 
	be shown with black background, regardless of the coloring rules set.
	Marking a packet can be useful to find it later while analyzing in a large 
	capture file.
    </para>
    <warning><title>Warning!</title>
    <para>
	The packet marks are not stored in the capture file or anywhere else, 
	so all packet marks will be lost if you close the capture file.
    </para>
    </warning>
    <para>
	You can use packet marking to control the output of packets when 
	saving/exporting/printing. To do so, an option in the packet range is 
	available, see <xref linkend="ChIOPacketRangeSection"/>.
    </para>
    <para>
	There are three functions to manipulate the marked state of a packet:
	<itemizedlist>
		<listitem>
    		<para>
			<command>Mark packet (toggle)</command> toggles the marked state 
			of a single packet.
    		</para>
		</listitem>
		<listitem>
    		<para>
			<command>Mark all packets</command> set the mark state of all 
			packets.
    		</para>
		</listitem>
		<listitem>
    		<para>
			<command>Unmark all packets</command> reset the mark state of all 
			packets.
    		</para>
		</listitem>
	</itemizedlist>
	These mark function are available from the "Edit" menu, and the 
	"Mark packet (toggle)" function is also available from the pop-up menu of 
	the "Packet List" pane.
    </para>
  </section>
	
  <section id="ChWorkTimeFormatsSection"><title>Time display formats and time 
  references</title>
	<para>
	While packets are captured, each packet is timestamped. These timestamps 
	will be saved to the capture file, so they will be available for later 
	analysis.
	</para>
	<para>
	A detailed description of timestamps, timezones and alike can be found at: <xref 
		linkend="ChAdvTimestamps"/>.
	</para>
	<para>
	The timestamp presentation format and the precision in the packet list can 
	be chosen using the View menu, see <xref linkend="ChUseWiresharkViewMenu"/>. 
	</para>
	<para>
	The available presentation formats are:
	<itemizedlist>
	<listitem><para><command>Date and Time of Day:  1970-01-01 01:02:03.123456</command>
		The absolute date and time of the day when the packet was captured.</para>
	</listitem>
	<listitem><para><command>Time of Day:  01:02:03.123456</command>
		The absolute time of the day when the packet was captured.</para>
	</listitem>
	<listitem><para><command>Seconds Since Beginning of Capture:  123.123456</command>
		The time relative to the start of the capture file or the first 
		"Time Reference" before this packet (see <xref 
		linkend="ChWorkTimeReferencePacketSection"/>).</para>
	</listitem>
	<listitem><para><command>Seconds Since Previous Captured Packet:  1.123456</command>
		The time relative to the previous captured packet.</para>
	</listitem>
	<listitem><para><command>Seconds Since Previous Displayed Packet:  1.123456</command>
		The time relative to the previous displayed packet.</para>
	</listitem>
	</itemizedlist>
	</para>
	<para>
	The available precisions (aka. the number of displayed decimal places) are:
	<itemizedlist>
	<listitem><para><command>Automatic</command>
	The timestamp precision of  
	the loaded capture file format will be used (the default).</para>
	</listitem>
	<listitem><para><command>Seconds, Deciseconds, Centiseconds, Milliseconds, 
	Microseconds or Nanoseconds</command>
	The timestamp precision will be forced to the given setting. If the 
	actually available
	precision is smaller, zeros will be appended. If the precision is larger, 
	the remaining decimal places will be cut off.</para>
	</listitem>
	</itemizedlist>
	</para>
	<para>
	Precision example: If you have a timestamp and it's displayed using,
	"Seconds Since Previous Packet", : the value might be 1.123456. This will
	be displayed using the "Automatic" setting for libpcap files (which is 
	microseconds). If you use Seconds it would show simply 1 and if you use
	Nanoseconds it shows 1.123456000.
	</para>
  <section id="ChWorkTimeReferencePacketSection">
  <title>Packet time referencing</title>
    <para>
	The user can set time references to packets. A time reference is the 
	starting point for all subsequent packet time calculations. It will be 
	useful, if you want to see the time values relative to a special packet,
	e.g. the start of a new request. It's possible to set multiple time 
	references in the capture file.
    </para>
    <warning><title>Warning!</title>
    <para>
	The time references will not be saved permanently and will be lost when 
	you close the capture file.
	</para>
    </warning>
    <note><title>Note!</title>
    <para>
	Time referencing will only be useful, if the time display format is set to 
	"Seconds Since Beginning of Capture". If one of the other time display 
	formats are used, time referencing will have no effect (and will make no 
	sense either).
	</para>
    </note>
    <para>
	To work with time references, choose one of the "Time Reference" items 
	in the "Edit" menu , see <xref linkend="ChUseEditMenuSection"/>, or from 
	the pop-up menu of the "Packet List" pane.
	</para>
	<itemizedlist>
	<listitem><para><command>Set Time Reference (toggle)</command>
		Toggles the time reference state of the currently selected 
		packet to on or off.</para>
	</listitem>
	<listitem><para><command>Find Next</command>
		Find the next time referenced packet in the "Packet List" pane.
		</para>
	</listitem>
	<listitem><para><command>Find Previous</command>
		Find the previous time referenced packet in the "Packet List" 
		pane.
		</para>
	</listitem>
	</itemizedlist>
    <para>
    <figure id="ChWorkTimeReference">
      <title>Wireshark showing a time referenced packet</title>
      <graphic entityref="WiresharkTimeReference" format="PNG"/>
    </figure>
	</para>
	<para>
	A time referenced packet will be marked with the string *REF* in the Time 
	column (see packet number 10). All subsequent packets will show the time 
	since the last time reference.
	</para>
  </section>
  </section>

</chapter>
<!-- End of WSUG Chapter Work -->