summaryrefslogtreecommitdiffstats
path: root/docs/man-xlate/nmap-man-de.xml
blob: 1365bf5f27db466f4285633cc025d8a52751bcd6 (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
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: nmap-man.xml 13215 2009-05-08 02:47:14Z fyodor $ -->
<article id="man" lang="de">
<artheader>
  <title>Nmap-Referenz-Handbuch (Man Page)</title>
</artheader>
<indexterm><primary>Manpage</primary><see>Referenz-Handbuch</see></indexterm>
<indexterm class="startofrange" id="man-nmap1-indexterm"><primary>Referenz-Handbuch (Manpage)</primary></indexterm>
<refentry id='man-nmap1'>
  <refmeta>
    <refentrytitle>nmap</refentrytitle>
    <manvolnum>1</manvolnum>
    <refmiscinfo class="source">Nmap</refmiscinfo>
    <refmiscinfo class="manual">Nmap-Referenz-Handbuch</refmiscinfo>
  </refmeta>
  <refnamediv id='man-name'>
    <refname>nmap</refname>
    <refpurpose>Netzwerk-Analysewerkzeug und Sicherheits-/Portscanner</refpurpose>
  </refnamediv>
  <!-- body begins here -->
  <refsynopsisdiv id='man-synopsis'>
    <cmdsynopsis>
      <command>nmap</command>
      <arg choice='opt' rep='repeat'>
        <replaceable>Scan Type</replaceable>
      </arg>
      <arg choice='opt'>
        <replaceable>Options</replaceable>
      </arg>
      <arg choice='req'>
        <replaceable>target specification</replaceable>
      </arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1 id='man-description'>
    <title>Beschreibung</title>
    <indexterm><primary>Nmap</primary><secondary>Beschreibung</secondary></indexterm>
    <web>
      <note><para>Dieses Dokument beschreibt Nmap Version 4.85BETA8. Die
          neueste Dokumentation ist in englischer Sprache verfügbar unter
          <ulink url="https://nmap.org/book/man.html" />.</para></note>
    </web>

<para>Nmap (<quote>Network Mapper</quote>) ist ein Open-Source-Werkzeug 
für die Netzwerkanalyse und Sicherheitsüberprüfung. Es wurde entworfen, 
um große Netzwerke schnell zu scannen, auch wenn es bei einzelnen Hosts 
auch gut funktioniert. Nmap benutzt rohe IP-Pakete auf neuartige Weise, 
um festzustellen, welche Hosts im Netzwerk verfügbar sind, welche Dienste 
(Anwendungsname und -version) diese Hosts bieten, welche Betriebssysteme 
(und Versionen davon) darauf laufen, welche Art von 
Paketfiltern/-Firewalls benutzt werden sowie Dutzende anderer 
Eigenschaften. Auch wenn Nmap üblicherweise für Sicherheitsüberprüfungen 
verwendet wird, wird es von vielen Systemen und Netzwerkadministratoren 
für Routineaufgaben benutzt, z.B. Netzwerkinventarisierung, Verwaltung von 
Ablaufplänen für Dienstaktualisierungen und die Überwachung von 
Betriebszeiten von Hosts oder Diensten.</para>

<para>Die Ausgabe von Nmap ist eine Liste gescannter Ziele mit zusätzlicher 
Information zu jedem, abhängig von den benutzten Optionen. Die entscheidende 
Information dabei steht in der <quote>Tabelle der interessanten 
Ports</quote>.<indexterm><primary>Ports</primary><secondary sortas="interessante">interessante</secondary></indexterm> 
Diese Tabelle listet die Portnummer und das -protokoll sowie den Dienstnamen 
und -zustand auf. Der Zustand ist entweder 
<literal>offen</literal>, <literal>gefiltert</literal>, 
<literal>geschlossen</literal> oder <literal>ungefiltert</literal>. 
<literal>Offen</literal><indexterm><primary><literal>offen</literal> Portzustand</primary></indexterm> 
bedeutet, dass auf diesem Port des Zielrechners eine Anwendung 
auf eingehende Verbindungen/Pakete lauscht. 
<literal>Gefiltert</literal><indexterm><primary><literal>gefiltert</literal> Portzustand</primary></indexterm> 
bedeutet, dass eine Firewall, ein Filter oder ein anderes 
Netzwerkhindernis den Port blockiert, so dass Nmap nicht wissen kann, 
ob er <literal>offen</literal> oder <literal>geschlossen ist</literal>. 
Für <literal>geschlossene</literal><indexterm><primary><literal>geschlossen</literal> Portzustand</primary></indexterm> 
Ports gibt es keine Anwendung, die auf ihnen lauscht, 
auch wenn sie jederzeit geöffnet werden könnten. 
Als <literal>ungefiltert</literal><indexterm><primary><literal>ungefiltert</literal> Portzustand</primary></indexterm> 
werden Ports dann klassifiziert, wenn sie auf Nmaps Testpakete antworten, 
Nmap aber nicht feststellen kann, ob sie offen oder gechlossen sind. 
Nmap gibt die Zustandskombinationen 
<literal>offen|gefiltert</literal><indexterm><primary><literal>offen|gefiltert</literal> Portzustand</primary></indexterm> 
und <literal>geschlossen|gefiltert</literal><indexterm><primary><literal>geschlossen|gefiltert</literal> Portzustand</primary></indexterm> 
an, wenn es nicht feststellen kann, welcher der beiden Zustände 
für einen Port zutrifft. Die Port-Tabelle enthält eventuell auch Details 
zur Softwareversion, sofern eine Versionserkennung verlangt wurde. 
Wurde ein IP-Protokoll-Scan verlangt (<option>-sO</option>), dann 
bietet Nmap Angaben über die unterstützten IP-Protokolle 
statt über lauschende Ports.</para>

<para>Zusätzlich zur Tabelle der interessanten Ports kann Nmap weitere 
Angaben über Ziele bieten, darunter Reverse-DNS-Namen, Mutmaßungen über 
das benutzte Betriebssystem, Gerätearten und MAC-Adressen.</para>

<para>Einen typischen Nmap-Scan sehen Sie in 
<xref linkend="man-ex-repscan" xrefstyle="select: label nopage" />. 
Die einzigen in diesem Beispiel benutzten Nmap-Argumente sind 
<option>-A</option> für die Betriebssystem- und Versionserkennung, 
Script-Scanning und Traceroute und <option>-T4</option> für eine 
schnellere Ausführung. Danach kommen die Namen der Zielhosts.</para>

<example id="man-ex-repscan"><title>Ein repräsentativer Nmap-Scan</title>
<indexterm><primary><option>-A</option></primary><secondary>Beispiel</secondary></indexterm>
<screen>
# nmap -A -T4 scanme.nmap.org

Starting Nmap ( https://nmap.org )
Interesting ports on scanme.nmap.org (64.13.134.52):
Not shown: 994 filtered ports
PORT    STATE  SERVICE VERSION
22/tcp  open   ssh     OpenSSH 4.3 (protocol 2.0)
25/tcp  closed smtp
53/tcp  open   domain  ISC BIND 9.3.4
70/tcp  closed gopher
80/tcp  open   http    Apache httpd 2.2.2 ((Fedora))
|_ HTML title: Go ahead and ScanMe!
113/tcp closed auth
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.20-1 (Fedora Core 5)

TRACEROUTE (using port 80/tcp)
HOP RTT   ADDRESS
[Cut first seven hops for brevity]
8   10.59 so-4-2-0.mpr3.pao1.us.above.net (64.125.28.142)
9   11.00 metro0.sv.svcolo.com (208.185.168.173)
10  9.93  scanme.nmap.org (64.13.134.52)

Nmap done: 1 IP address (1 host up) scanned in 17.00 seconds
</screen>
</example>

<para>Die neueste Version von Nmap erhält man unter 
<ulink url="https://nmap.org" />, und die neueste Version der Manpage 
ist unter <ulink url="https://nmap.org/book/man.html"/> verfügbar.</para>

  </refsect1>

  <refsect1 id='man-briefoptions'>
    <title>Übersicht der Optionen</title>

<para>Diese Übersicht wird ausgegeben, wenn Nmap ohne Argumente 
aufgerufen wird; die neueste Version davon ist immer unter 
<ulink url="https://nmap.org/data/nmap.usage.txt" /> verfügbar. 
Sie hilft dabei, sich die am häufigsten benutzten Optionen zu merken, 
ist aber kein Ersatz für die detaillierte Dokumentation im Rest 
dieses Handbuchs. Einige obskure Optionen werden hier nicht einmal 
erwähnt.</para>

<!-- sortas="#" puts it before the entries that start with '-' in the options
     section. -->
<indexterm class="startofrange" id="nmap-usage-indexterm"><primary sortas="#">Optionsübersicht</primary></indexterm>
<indexterm class="startofrange" id="nmap-usage-nmap-indexterm"><primary>Kommandozeilenoptionen</primary><secondary>von Nmap</secondary></indexterm>
<?dbfo-need height="1in"?>
<literallayout format="linespecific" class="normal">Nmap 4.85BETA8 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
  Can pass hostnames, IP addresses, networks, etc.
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
  -iL &lt;inputfilename&gt;: Input from list of hosts/networks
  -iR &lt;num hosts&gt;: Choose random targets
  --exclude &lt;host1[,host2][,host3],...&gt;: Exclude hosts/networks
  --excludefile &lt;exclude_file&gt;: Exclude list from file
HOST DISCOVERY:
  -sL: List Scan - simply list targets to scan
  -sP: Ping Scan - go no further than determining if host is online
  -PN: Treat all hosts as online -- skip host discovery
  -PS/PA/PU[portlist]: TCP SYN/ACK or UDP discovery to given ports
  -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
  -PO[protocol list]: IP Protocol Ping
  -n/-R: Never do DNS resolution/Always resolve [default: sometimes]
  --dns-servers &lt;serv1[,serv2],...&gt;: Specify custom DNS servers
  --system-dns: Use OS's DNS resolver
  --traceroute: Trace hop path to each host
SCAN TECHNIQUES:
  -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
  -sU: UDP Scan
  -sN/sF/sX: TCP Null, FIN, and Xmas scans
  --scanflags &lt;flags&gt;: Customize TCP scan flags
  -sI &lt;zombie host[:probeport]&gt;: Idle scan
  -sO: IP protocol scan
  -b &lt;FTP relay host&gt;: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
  -p &lt;port ranges&gt;: Only scan specified ports
    Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
  -F: Fast mode - Scan fewer ports than the default scan
  -r: Scan ports sequentially - don't randomize
  --top-ports &lt;number&gt;: Scan &lt;number&gt; most common ports
  --port-ratio &lt;ratio&gt;: Scan ports more common than &lt;ratio&gt;
SERVICE/VERSION DETECTION:
  -sV: Probe open ports to determine service/version info
  --version-intensity &lt;level&gt;: Set from 0 (light) to 9 (try all probes)
  --version-light: Limit to most likely probes (intensity 2)
  --version-all: Try every single probe (intensity 9)
  --version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:
  -sC: equivalent to --script=default
  --script=&lt;Lua scripts&gt;: &lt;Lua scripts&gt; is a comma separated list of 
           directories, script-files or script-categories
  --script-args=&lt;n1=v1,[n2=v2,...]&gt;: provide arguments to scripts
  --script-trace: Show all data sent and received
  --script-updatedb: Update the script database.
OS DETECTION:
  -O: Enable OS detection
  --osscan-limit: Limit OS detection to promising targets
  --osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
  Options which take &lt;time&gt; are in milliseconds, unless you append 's'
  (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
  -T&lt;0-5&gt;: Set timing template (higher is faster)
  --min-hostgroup/max-hostgroup &lt;size&gt;: Parallel host scan group sizes
  --min-parallelism/max-parallelism &lt;numprobes&gt;: Probe parallelization
  --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout &lt;time&gt;: Specifies
      probe round trip time.
  --max-retries &lt;tries&gt;: Caps number of port scan probe retransmissions.
  --host-timeout &lt;time&gt;: Give up on target after this long
  --scan-delay/--max-scan-delay &lt;time&gt;: Adjust delay between probes
  --min-rate &lt;number&gt;: Send packets no slower than &lt;number&gt; per second
  --max-rate &lt;number&gt;: Send packets no faster than &lt;number&gt; per second
FIREWALL/IDS EVASION AND SPOOFING:
  -f; --mtu &lt;val&gt;: fragment packets (optionally w/given MTU)
  -D &lt;decoy1,decoy2[,ME],...&gt;: Cloak a scan with decoys
  -S &lt;IP_Address&gt;: Spoof source address
  -e &lt;iface&gt;: Use specified interface
  -g/--source-port &lt;portnum&gt;: Use given port number
  --data-length &lt;num&gt;: Append random data to sent packets
  --ip-options &lt;options&gt;: Send packets with specified ip options
  --ttl &lt;val&gt;: Set IP time-to-live field
  --spoof-mac &lt;mac address/prefix/vendor name&gt;: Spoof your MAC address
  --badsum: Send packets with a bogus TCP/UDP checksum
OUTPUT:
  -oN/-oX/-oS/-oG &lt;file&gt;: Output scan in normal, XML, s|&lt;rIpt kIddi3,
     and Grepable format, respectively, to the given filename.
  -oA &lt;basename&gt;: Output in the three major formats at once
  -v: Increase verbosity level (use twice or more for greater effect)
  -d[level]: Set or increase debugging level (Up to 9 is meaningful)
  --reason: Display the reason a port is in a particular state
  --open: Only show open (or possibly open) ports
  --packet-trace: Show all packets sent and received
  --iflist: Print host interfaces and routes (for debugging)
  --log-errors: Log errors/warnings to the normal-format output file
  --append-output: Append to rather than clobber specified output files
  --resume &lt;filename&gt;: Resume an aborted scan
  --stylesheet &lt;path/URL&gt;: XSL stylesheet to transform XML output to HTML
  --webxml: Reference stylesheet from Nmap.Org for more portable XML
  --no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:
  -6: Enable IPv6 scanning
  -A: Enables OS detection and Version detection, Script scanning and Traceroute
  --datadir &lt;dirname&gt;: Specify custom Nmap data file location
  --send-eth/--send-ip: Send using raw ethernet frames or IP packets
  --privileged: Assume that the user is fully privileged
  --unprivileged: Assume the user lacks raw socket privileges
  -V: Print version number
  -h: Print this help summary page.
EXAMPLES:
  nmap -v -A scanme.nmap.org
  nmap -v -sP 192.168.0.0/16 10.0.0.0/8
  nmap -v -iR 10000 -PN -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
</literallayout>


<indexterm class="endofrange" startref="nmap-usage-nmap-indexterm"/>
<indexterm class="endofrange" startref="nmap-usage-indexterm"/>

  </refsect1>

  <refsect1 id='man-target-specification'>
    <title>Angabe von Zielen</title>
    <indexterm><primary>Zielangabe</primary></indexterm>

<para>Nmap betrachtet alles in der Kommandozeile, was keine Option (oder 
ein Argument einer Option) ist, als Bezeichnung eines Zielhosts. Der 
einfachste Fall ist die Beschreibung einer IP-Zieladresse oder eines 
Zielhostnamens zum Scannen.</para>

<para>Manchmal möchten Sie ein ganzes Netzwerk benachbarter Hosts scannen. 
Dafür unterstützt Nmap Adressen im 
CIDR-Stil.<indexterm><primary>CIDR (Classless Inter-Domain Routing)</primary></indexterm>
Sie können
/<replaceable>numbits</replaceable> an eine IPv4-Adresse oder einen Hostnamen 
anfügen, und Nmap wird alle IP-Adressen scannen, bei denen die ersten 
<replaceable>numbits</replaceable> mit denen der gegebenen IP oder des 
gegebenen Hostnamens übereinstimmen. Zum Beispiel würde 192.168.10.0/24 die 
256 Hosts zwischen 192.168.10.0 (binär: <literal>11000000 10101000 00001010 00000000</literal>) 
und 192.168.10.255 (binär: <literal>11000000 10101000 00001010 11111111</literal>, inklusive) scannen.
192.168.10.40/24 würde genau dieselben Ziele scannen. Dadurch, dass der Host 
<literal>scanme.nmap.org</literal><indexterm><primary><literal>scanme.nmap.org</literal></primary></indexterm>
die IP-Adresse 64.13.134.52 hat, würde die Angabe scanme.nmap.org/16 
die 65.536 IP-Adressen zwischen 64.13.0.0 und 64.13.255.255 scannen. 
Der kleinste erlaubte Wert ist /0, der das gesamte Internet scannt. 
Der größte Wert ist /32 und scannt lediglich den Host mit angegebenem Namen 
oder IP-Adresse, da alle Adressen-Bits festgelegt sind.</para>

<indexterm><primary>Adressbereiche</primary></indexterm>
<para>Die CIDR-Notation ist kurz, aber nicht immer flexibel genug. 
Vielleicht möchten Sie z.B. 192.168.0.0/16 scannen, aber IPs auslassen, 
die mit .0 oder .255 enden, weil sie als Unternetzwerk und Broadcast-Adressen 
benutzt werden können. Nmap unterstützt das in Form einer 
Oktett-Bereichsadressierung. 
Statt eine normale IP-Adresse 
anzugeben, können Sie eine mit Kommata getrennte Liste von Zahlen oder 
Bereichen für jedes Oktett angeben. Zum Beispiel überspringt 
192.168.0-255.1-254 alle Adressen im Bereich, die mit .0 oder .255 
enden, und 192.168.3-5,7.1 scannt die vier Adressen 192.168.3.1, 
192.168.4.1, 192.168.5.1 und 192.168.7.1. Beide Bereichsgrenzen können 
weggelassen werden, die Standardwerte sind 0 für die linke und 255 
für die rechte Grenze. Wenn Sie allein <literal>-</literal> benutzen, 
ist das identisch mit 0-255, aber denken Sie daran, im ersten Oktett 0- 
zu benutzen, damit die Zielangabe nicht wie eine Kommandozeilenoption 
aussieht. 
Diese Bereiche müssen nicht auf die endgültigen Oktetts beschränkt sein: 
die Angabe 0-255.0-255.13.37 führt einen internetweiten Scan über alle 
IP-Adressen aus, die mit 13.37 enden. Diese Art von breiter Abtastung 
kann bei Internet-Umfragen und -Forschungen hilfreich sein.</para>

<para>IPv6-Adressen können nur durch ihre vollständige IPv6-Adresse oder 
ihren Hostnamen angegeben werden. CIDR und Oktettbereiche werden für IPv6 
nicht unterstützt, weil sie selten nützlich sind.</para>

<para>Nmap akzeptiert in der Kommandozeile mehrere Host-Angaben, 
die auch nicht vom selben Typ sein müssen. Der Befehl 
<command>nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.-</command> 
macht also das, was Sie erwarten würden.</para>

<para>Auch wenn Ziele normalerweise in der Kommandozeile angegeben werden, 
gibt es auch die folgenden Optionen, um die Zielauswahl zu steuern:</para>

<variablelist>
<varlistentry>
<term>
<option>-iL <replaceable>inputfilename</replaceable></option> (Eingabe aus 
einer Liste)
<indexterm><primary><option>-iL</option></primary></indexterm>
<indexterm><primary>Zielangabe</primary><secondary>aus Liste</secondary></indexterm>
</term>
<listitem>
<para>Eine sehr lange Liste von Hosts in der Kommandozeile anzugeben 
ist oft sehr umständlich, kommt aber sehr häufig vor. Ihr DHCP-Server 
z.B. exportiert vielleicht eine Liste von 10.000 aktuellen Adresszuweisungen 
(engl. leases), die Sie scannen möchten. Oder vielleicht möchten Sie 
alle IP-Adressen <emphasis>außer</emphasis> denjenigen scannen, um Hosts 
zu finden, die unautorisierte statische IP-Adressen benutzen. Erzeugen 
Sie einfach die Liste der zu scannenden Hosts und übergeben Sie deren 
Dateinamen als Argument zur Option <option>-iL</option> an Nmap. 
Die Einträge dürfen alle Formate haben, die Nmap auf der Kommandozeile 
akzeptiert (IP-Adresse, Hostname, CIDR, IPv6 oder Oktettbereiche). 
Alle Einträge müssen durch ein oder mehrere Leerzeichen, Tabulatoren 
oder Zeilenumbrüche getrennt sein. Wenn Sie einen Bindestrich 
(<literal>-</literal>) als Dateinamen angeben, liest Nmap die Hosts 
von der Standardeingabe statt aus einer normalen Datei.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-iR <replaceable>num hosts</replaceable></option> (zufällige Auswahl von Zielen)
<indexterm><primary><option>-iR</option></primary></indexterm>
<indexterm><primary>randomisierte Ziele</primary></indexterm>
<indexterm><primary>Zielangabe</primary><secondary>randomisiert</secondary></indexterm>
</term>
<listitem>
<para>Für internetweite Umfragen und andere Forschungsaktivitäten möchten 
Sie Ziele vielleicht zufällig auswählen. Das kann man mit der Option 
<option>-iR</option>, die als Argument die Anzahl der zu erzeugenden IPs 
annimmt.
Nmap lässt automatisch bestimmte unerwünschte IPs aus, 
wie solche in privaten, Multicast- oder unbesetzten Adressbereichen. 
Für einen endlosen Scan kann man das Argument <literal>0</literal> angeben. 
Denken Sie aber daran, dass manche Netzwerkadministratoren sich gegen 
unautorisierte Scans ihrer Netzwerke sträuben. Lesen Sie 
<xref linkend="man-legal" /> sorgfältig, bevor Sie -iR benutzen.</para>

<para>Falls Sie mal an einem regnerischen Tag wirklich Langeweile haben, 
probieren Sie einmal den Befehl <command>nmap -sS -PS80 -iR 0 -p 80</command>
<indexterm><primary><option>-iR</option></primary><secondary>Beispiel</secondary></indexterm>
<indexterm><primary><option>-sS</option></primary><secondary>Beispiel</secondary></indexterm>
<indexterm><primary><option>-PS</option></primary><secondary>Beispiel</secondary></indexterm>
aus, um zufällig Webserver zu finden, auf denen Sie herumstöbern 
können.</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--exclude
<replaceable>host1</replaceable><optional>,<replaceable>host2</replaceable><optional>,...</optional></optional></option> (Ziele ausklammern)
<indexterm significance="preferred"><primary><option>--exclude</option></primary></indexterm>
<indexterm><primary>Ausklammern von Zielen</primary></indexterm>
</term>
<listitem>
<para>Gibt eine mit Kommata getrennte Liste von Zielen an, die vom 
Scan ausgeschlossen sein sollen, selbst wenn sie in den angegebenen 
Netzwerkbereich fallen. Die übergebene Liste benutzt die normale 
Nmap-Syntax und kann folglich Hostnamen, CIDR-Netzblöcke, 
Oktettbereiche usw. enthalten. Das kann nützlich sein, wenn das zu 
scannende Netzwerk hochkritische Server und Systeme enthält, die man 
nicht anfassen darf, weil sie bekanntermaßen ungünstig auf Port-Scans 
reagieren, oder Unternetze, die von anderen Leuten administriert 
werden.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--excludefile <replaceable>exclude_file</replaceable></option> 
(Liste aus Datei ausklammern)
<indexterm significance="preferred"><primary><option>--excludefile</option></primary></indexterm>
</term>
<listitem>
<para>Das bietet dieselbe Funktionalität wie die Option 
<option>--exclude</option>, mit dem Unterschied, dass die ausgeklammerten 
Ziele in der mit Zeilenumbrüchen, Leerzeichen oder Tabulatoren getrennten 
Datei <replaceable>exclude_file</replaceable> statt auf der Kommandozeile 
angegeben werden.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>


<refsect1 id='man-host-discovery'>
<title>Host-Erkennung</title>
<indexterm class="startofrange" id="man-host-discovery-indexterm"><primary>Host-Erkennung</primary></indexterm>

<para>Einer der allerersten Schritte bei jeder Netzwerkerkundung ist die 
Reduktion einer (manchmal riesigen) Menge von IP-Bereichen auf eine Liste 
aktiver oder interessanter Hosts. Wenn man für alle einzelnen IP-Adressen 
alle Ports scannt, so ist das nicht nur langsam, sondern normalerweise auch 
unnötig. Was einen Host interessant macht, hängt natürlich stark vom Zweck 
der Untersuchung ab. Netzwerkadministratoren interessieren sich vielleicht 
nur für Hosts, auf denen ein bestimmter Dienst läuft, während 
Sicherheitsprüfer sich vielleicht für alle Geräte interessieren, die eine 
IP-Adresse haben. Ein Administrator benötigt vielleicht nur einen ICMP-Ping, 
um Hosts in seinem internen Netzwerk zu finden, während ein externer 
Penetrationstester vielleicht Dutzende ganz verschiedener Tests einsetzen 
wird, um zu versuchen, die Firewall-Beschränkungen zu umgehen.</para>

<para>Da die Anforderungen bei der Host-Erkennung so verschieden sind, bietet 
Nmap eine breite Palette von Optionen zur Anpassung der eingesetzten 
Verfahren. Trotz seines Namens geht ein Ping-Scan weit über die einfachen 
ICMP Echo-Request-Pakete hinaus, die mit dem allgegenwärtigen Werkzeug  
<application>ping</application> verbunden sind. Man kann den Ping-Schritt 
völlig auslassen, indem man einen List-Scan (<option>-sL</option>) benutzt, 
Ping ausschaltet (<option>-PN</option>) oder beliebige Kombinationen 
von Multi Port TCP-SYN/ACK, UDP- und ICMP-Testanfragen auf ein Netzwerk 
loslässt. Der Zweck dieser Anfragen ist der, Antworten hervorzurufen, 
die zeigen, dass eine IP-Adresse tatsächlich aktiv ist (d.h. von einem 
Host oder Gerät im Netzwerk benutzt wird). In vielen Netzwerken ist nur ein 
kleiner Prozentsatz von IP-Adressen zu einem bestimmten Zeitpunkt aktiv. 
Das gilt besonders für einen privaten Adressraum wie 10.0.0.0/8. Dieses 
Netzwerk enthält 16,8 Millionen IPs, aber ich habe auch Firmen gesehen, die 
es mit weniger als tausend Rechnern benutzen. Mit der Host-Erkennung kann 
man diese spärlichen Rechnerinseln in einem Meer von IP-Adressen finden.</para>

<para>Falls keine Optionen für die Host-Erkennung angegeben werden, 
sendet Nmap ein TCP-ACK-Paket an Port 80 und ein ICMP Echo-Request an 
alle Zielrechner. Eine Ausnahme ist, dass bei allen Zielen in einem 
lokalen Ethernet-Netzwerk ein ARP-Scan benutzt wird. Für unprivilegierte 
Unix-Shell-Benutzer wird mit dem <function>connect</function>-Systemaufruf 
ein SYN-Paket statt eines ACK 
gesendet.<indexterm><primary>Benutzer ohne Sonderrechte</primary><secondary>Beschränkungen</secondary></indexterm>
Diese Standardeinstellungen sind äquivalent zu den Optionen 
<option>-PA -PE</option>. Diese Host-Erkennung ist oft ausreichend, 
wenn man lokale Netzwerke scannt, aber für Sicherheitsüberprüfungen 
empfiehlt sich eine umfangreichere Menge von Erkennungstestpaketen.</para>
    
<para>Die Optionen <option>-P*</option> (die Ping-Typen auswählen) 
lassen sich kombinieren. Sie können Ihre Chancen steigern, bei strengen 
Firewalls durchzukommen, indem Sie viele Testpaketarten mit verschiedenen 
TCP-Ports/-Flags und ICMP-Codes senden. Beachten Sie auch, dass die 
ARP-Erkennung 
(<option>-PR</option>)<indexterm><primary><option>-PR</option></primary></indexterm> 
bei Zielen in einem lokalen Ethernet-Netzwerk standardmäßig erfolgt, 
selbst dann, wenn Sie andere <option>-P*</option>-Optionen angeben, 
weil sie fast immer schneller und effizienter ist.</para>

<para>Standardmäßig führt Nmap eine Host-Erkennung und dann einen 
Port-Scan auf jedem Host aus, den es als online erkennt. Das gilt auch 
dann, wenn Sie nicht standardmäßige Host-Erkennungstypen wie UDP-Testpakete 
(<option>-PU</option>) angeben. Lesen Sie über die Option 
<option>-sP</option> nach, um zu lernen, wie man nur eine Host-Erkennung 
durchführt, oder über <option>-PN</option>, um die Host-Erkennung zu 
überspringen und einen Port-Scan aller Zielhosts durchzuführen. Folgende 
Optionen steuern die Host-Erkennung:</para>

<variablelist>

<varlistentry>
<term>
<option>-sL</option> (List-Scan)
<indexterm><primary><option>-sL</option></primary></indexterm>
<indexterm><primary>List-Scan</primary></indexterm>
</term>
<listitem>
<para>Ein List-Scan ist eine degenerierte Form der Host-Erkennung, die einfach 
jeden Host im angegebenen Netzwerk (bzw. den Netzwerken) auflistet, ohne 
Pakete an die Ziel-Hosts zu senden. Standardmäßig führt Nmap immer noch eine 
Reverse-DNS-Auflösung der Hosts durch, um deren Namen zu lernen. 
Es ist oft erstaunlich, wie viel nützliche Informationen einfache 
Hostnamen verraten. Zum Beispiel ist <literal>fw.chi</literal> 
der Name einer Firewall einer Firma in Chicago. 
<indexterm><primary>DNS</primary><secondary>Einträge als Informationsquelle</secondary></indexterm>
Nmap gibt am Ende auch die gesamte Anzahl der IP-Adressen aus. 
Ein List-Scan ist eine gute 
Plausibilitätsprüfung, um sicherzustellen, dass Sie saubere IP-Adressen 
für Ihre Ziele haben. Falls die Hosts Domainnamen enthalten, die Ihnen nichts 
sagen, lohnt sich eine weitere Untersuchung, um zu verhindern, dass Sie das 
Netzwerk der falschen Firma scannen.</para>

<para>Da die Idee einfach die ist, eine Liste der Zielhosts auszugeben, 
lassen sich Optionen für eine höhere Funktionalität wie z.B. Port-Scanning, 
Betriebssystemerkennung oder Ping-Scanning damit nicht kombinieren. 
Falls Sie einen Ping-Scan abschalten und trotzdem solch höhere 
Funktionalität durchführen möchten, lesen Sie bei der Option
<option>-PN</option> weiter.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-sP</option> (Ping-Scan)
<indexterm><primary><option>-sP</option></primary></indexterm>
<indexterm><primary>Ping-Scan</primary></indexterm>
</term>
<listitem>
<para>Diese Option verlangt, dass Nmap nur einen Ping-Scan 
(Host-Erkennung) durchführt und dann die verfügbaren Hosts 
ausgibt, die auf den Scan geantwortet haben. 
Darüber hinaus werden keine weiteren Tests (z.B. 
Port-Scans oder Betriebssystemerkennung) durchgeführt, außer bei 
Host-Scripts mit der Nmap Scripting Engine und traceroute-Tests, 
sofern Sie diese Optionen angegeben haben. 
Das ist eine Stufe aufdringlicher als ein List-Scan 
und kann oft für dieselben Zwecke benutzt werden. Sie führt schnell eine 
schwache Aufklärung des Zielnetzwerks durch, ohne viel Aufmerksamkeit zu 
erregen. Für Angreifer ist es wertvoller, zu wissen, wie viele Hosts 
verfügbar sind, als die Liste aller IPs und Hostnamen aus einem 
List-Scan zu kennen.</para>

<para>Für Systemadministratoren ist diese Option oft ebenfalls wertvoll. 
Mit ihr kann man sehr leicht die verfügbaren Rechner in einem Netzwerk 
zählen oder die Server-Verfügbarkeit überwachen. So etwas nennt man oft auch 
einen Ping-Sweep, und es ist zuverlässiger als ein Pinging auf die 
Broadcast-Adresse, weil viele Hosts auf Broadcast-Anfragen nicht 
antworten.</para>

<para>Die Option <option>-sP</option> sendet standardmäßig einen 
ICMP Echo-Request und ein TCP-ACK-Paket an Port 80. Bei Ausführung 
ohne Sonderrechte wird nur ein SYN-Paket (mit einem 
<function>connect</function>-Aufruf) an Port 80 an das Ziel gesendet. 
Wenn ein Benutzer mit Sonderrechten versucht, Ziele in einem lokalen 
Ethernet-Netzwerk zu scannen, werden ARP-Requests verwendet, es sei 
denn, die Option <option>--send-ip</option> wird angegeben.
Die Option <option>-sP</option> kann mit allen Erkennungsmethoden 
(die Optionen <option>-P*</option>, außer <option>-PN</option>) 
kombiniert werden, um eine höhere Flexibilität zu erhalten.
Falls zwischen dem Ausgangs-Host, auf dem Nmap läuft, und dem Zielnetzwerk 
strenge Firewalls installiert sind, empfehlen sich diese fortgeschrittenen 
Methoden. Ansonsten könnten Hosts übersehen werden, wenn die Firewall 
Testanfragen oder Antworten darauf verwirft</para>

</listitem>
</varlistentry>


<varlistentry>
<term>
<option>-PN</option> (Ping abschalten)
<indexterm><primary><option>-PN</option></primary></indexterm>
<indexterm><primary>Host-Erkennung</primary><secondary>ausschalten</secondary></indexterm>
</term>
<listitem>
<para>Eine weitere Möglichkeit ist die, die Erkennungsphase von Nmap völlig 
auszulassen. Normalerweise bestimmt Nmap in dieser Phase aktive Rechner, 
die es anschließend stärker scannt. Standardmäßig führt Nmap heftigere 
Tests wie Port-Scans, Versions- oder Betriebssystemerkennung bei Hosts 
durch, die es bereits als aktiv eingestuft hat. Das Ausschalten der 
Host-Erkennung mit der Option <option>-PN</option> bewirkt, dass Nmap 
versucht, die gewünschten Scan-Funktionen auf 
<emphasis>allen</emphasis> angegebenen Ziel-IP-Adresssen durchzuführen. 
Wenn also ein Zieladressraum der Größe Klasse B (/16) auf der Kommandozeile 
angegeben wird, werden alle 65.536 IP-Adressen gescannt. 
Eine richtige Host-Erkennung wird wie bei einem List-Scan übersprungen, 
aber statt anzuhalten und die Zielliste auszugeben, fährt Nmap mit 
der Durchführung der gewünschten Funktionen fort, so als ob jede Ziel-IP 
aktiv wäre. 
Bei Rechnern im lokalen Ethernet-Netzwerk wird ein ARP-Scan weiterhin 
ausgeführt (es sei denn, es wird <option>--send-ip</option> angegeben), 
da Nmap MAC-Adressen braucht, um Zielhosts weiter zu scannen. Diese Option 
lautete früher einaml <option>P0</option> (mit einer Null), wurde dann 
aber umbenannt, um Verwirrung mit der Option <option>PO</option> von 
Protokoll-Pings (benutzt den Buchstaben O) zu vermeiden.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-PS <replaceable>port list</replaceable></option> (TCP-SYN-Ping)
<indexterm><primary><option>-PS</option></primary></indexterm>
<indexterm><primary>SYN-Ping</primary></indexterm>
</term>
<listitem>

<para>Diese Option sendet ein leeres TCP-Paket mit gesetztem SYN-Flag. 
Der vorgegebene Zielport ist 80 (lässt sich zum Zeitpunkt des 
Kompilierens durch Ändern von 
<varname>DEFAULT_TCP_PROBE_PORT_SPEC</varname><indexterm><primary><varname>DEFAULT_TCP_PROBE_PORT_SPEC</varname></primary></indexterm>
in <filename>nmap.h</filename> 
konfigurieren),<indexterm><primary><filename>nmap.h</filename></primary></indexterm> 
aber man kann einen alternativen Port als Parameter angeben. 
Die Syntax ist dieselbe wie bei <option>-p</option>, mit dem Unterschied, 
dass Porttypenbezeichner wie <literal>T:</literal> nicht erlaubt sind. 
Beispiele hierfür sind <option>-PS22</option> und 
<option>-PS22-25,80,113,1050,35000</option>. Beachten Sie, dass es 
kein Leerzeichen zwischen <option>-PS</option> und der Port-Liste 
geben darf. Falls mehrere Tests angegeben werden, werden sie 
parallel durchgeführt.</para>

<para>Das SYN-Flag bedeutet für das entfernte System, dass Sie versuchen, 
eine Verbindung herzustellen. Normalerweise wird der Zielport geschlossen 
sein, und es wird ein RST-(Reset-)Paket zurückgeschickt. Falls der Port 
offen ist, führt das Ziel den zweiten Schritt eines TCP-three-way-handshake 
<indexterm><primary>Three-way-Handshake</primary></indexterm> durch, indem 
es mit einem SYN/ACK-TCP-Paket antwortet. Der Rechner, auf dem Nmap läuft, 
bricht dann die entstehende Verbindung ab, indem er mit einem RST antwortet, 
statt ein ACK-Paket zu senden, mit dem der three-way handshake komplett und 
eine vollständige Verbindung hergestellt wäre. Das RST-Paket 
wird als Antwort auf das unerwartete SYN/ACK vom Betriebssystem-Kernel des 
Rechners gesendet, auf dem Nmap läuft, nicht von Nmap selbst.</para>

<para>Für Nmap ist es egal, ob der Port offen oder geschlossen ist. Aus beiden 
Antworten, ob RST oder SYN/ACK, schließt Nmap, dass der Host verfügbar ist 
und antwortet.</para>

<para>Auf Unix-Rechnern kann im Allgemeinen nur der mit Sonderrechten 
ausgestattete Benutzer 
<literal>root</literal><indexterm><primary>Benutzer mit Sonderrechten</primary></indexterm>
rohe TCP-Pakete senden und 
empfangen.<indexterm><primary>rohe Pakete</primary></indexterm>
Bei normalen Benutzern kommt automatisch eine Umgehungslösung zum 
Tragen,<indexterm><primary>Benutzer ohne Sonderrechte</primary><secondary>Beschränkungen</secondary></indexterm> 
bei der für alle Zielports der <function>connect</function>-Systemaufruf 
verwendet wird. Das bewirkt, dass an den Zielhost ein SYN-Paket gesendet 
wird, mit der Absicht, eine Verbindung herzustellen. Falls 
<function>connect</function> schnell ein erfolgreiches Ergebnis oder 
einen ECONNREFUSED-Fehler zurückgibt, muss der darunterliegende TCP-Stack 
ein SYN/ACK oder RST empfangen haben, und der Host wird als verfügbar 
vermerkt. Falls der Verbindungsversuch hängenbleibt, bis eine 
Zeitbeschränkung erreicht ist, wird der Host als inaktiv vermerkt. 
Diese Behelfslösung wird auch bei IPv6-Verbindungen 
verwendet, da Nmap den Bau roher IPv6-Pakete noch nicht 
unterstützt.<indexterm><primary>IPv6</primary><secondary>Beschränkungen</secondary></indexterm>
</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-PA <replaceable>port list</replaceable></option> (TCP-ACK-Ping)
<indexterm><primary><option>-PA</option></primary></indexterm>
<indexterm><primary>ACK-Ping</primary></indexterm>
</term>
<listitem>
<para>Der TCP-ACK-Ping ist ziemlich ähnlich zum SYN-Ping. Der Unterschied 
ist der, dass das TCP-ACK-Flag statt dem SYN-Flag gesetzt wird, was Sie 
sich bestimmt schon gedacht haben. Ein solches ACK-Paket erweckt den 
Eindruck, es wolle Daten auf einer bestehenden TCP-Vebindung bestätigen, 
während eine solche Verbindung gar nicht existiert. Entfernte Hosts sollten 
darauf immer mit einem RST-Paket antworten, wobei sie ihre Existenz 
verraten.</para>

<para>Die Option <option>-PA</option> benutzt denselben Standard-Port wie der 
SYN-Test (80) und nimmt ebenfalls eine Liste von Zielports im selben Format 
an. Falls ein unprivilegierter Benutzer das ausprobiert oder falls ein IPv6-Ziel 
angegeben wird, wird die bereits erwähnte Behelfslösung mit 
<function>connect</function> eingesetzt. Diese ist nicht perfekt, 
da <function>connect</function> tatsächlich ein 
SYN-Paket statt eines ACK sendet.</para>

<para>Der Grund für die Existenz sowohl von SYN- als auch ACK-Ping-Tests 
liegt darin, die Chancen für die Umgehung von Firewalls zu erhöhen. Viele 
Administratoren konfigurieren Router und andere einfache Firewalls so, 
dass sie eingehende SYN-Pakete blockieren, außer bei solchen für öffentliche 
Dienste wie bei der Website oder dem Mailserver der Firma. Das verhindert 
weitere eingehende Verbindungen zur Organisation, während es den Benutzern 
freie Verbindungen ins Internet erlaubt. Dieser zustandslose Ansatz benötigt 
wenige Ressourcen in der Firewall bzw. im Router und wird von Hardware- und 
Software-Filtern weithin unterstützt. Die Firewall-Software 
Netfilter/iptables<indexterm><primary>iptables</primary></indexterm>
in Linux bietet die komfortable Option <option>--syn</option>, um diesen 
zustandslosen Ansatz zu implementieren. Wenn solche Firewall-Regeln 
vorhanden sind, werden SYN-Ping-Tests 
(<option>-PS</option>), die an geschlossene Zielports gesendet werden, 
sehr wahrscheinlich blockiert. In solchen Fällen greift der ACK-Test, 
da er diese Regeln einfach kappt.</para>

<para>Eine weitere häufige Art von Firewalls verwendet zustandsbehaftete 
Regeln, die unerwartete Pakete verwerfen. Dieses Merkmal konnte man zuerst 
bei hochwertigen Firewalls finden, es hat sich aber mit der Zeit deutlich 
verbreitet. In Linux unterstützt das Netfilter/iptables-System das mit der 
Option <literal>--state</literal>, die Pakete nach einem Verbindungszustand 
kategorisiert. In solchen Fällen hat der SYN-Test eine wesentlich 
bessere Chance auf Erfolg, da unerwartete ACK-Pakete im Allgemeinen als 
fehlerhaft erkannt und verworfen werden. Eine Lösung aus diesem Dilemma 
besteht darin, mit <option>-PS</option> und <option>-PA</option> 
SYN- und ACK-Testpakete zu senden.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-PU <replaceable>port list</replaceable></option> (UDP-Ping)
<indexterm><primary><option>-PU</option></primary></indexterm>
<indexterm><primary>UDP-Ping</primary></indexterm>
</term>
<listitem>

<para>Eine weitere Möglichkeit bei der Host-Erkennung ist der UDP-Ping, 
bei dem ein leeres (außer bei Angabe von <option>--data-length</option>) 
UDP-Paket an die angegebenen Ports gesendet wird. Die Portliste hat dasselbe 
Format wie bei den weiter oben beschriebenen Optionen <option>-PS</option> 
und <option>-PA</option>. Falls keine Ports angegeben werden, ist die 
Standardeinstellung 31338. Dieser Wert kann zum Zeitpunkt des Kompilierens 
dürch Änderung von 
<varname>DEFAULT_UDP_PROBE_PORT_SPEC</varname><indexterm><primary><varname>DEFAULT_UDP_PROBE_PORT_SPEC</varname></primary></indexterm>
in <filename>nmap.h</filename> konfiguriert werden.<indexterm><primary><filename>nmap.h</filename></primary></indexterm>
Es wird absichtlich ein sehr unwahrscheinlicher Port verwendet, weil bei 
dieser bestimmten Art des Scannens das Senden an offene Ports oft unerwünscht 
ist.</para>

<para>Trifft der UDP-Test beim Zielrechner auf einen geschlossenen Port, 
so sollte dieser ein ICMP-Paket zurückschicken, das besagt, dass der Port 
nicht erreichbar ist. Daraus schließt Nmap, dass der Rechner läuft und 
verfügbar ist. Viele weitere Arten von ICMP-Fehlern, z.B. bei unerreichbaren 
Hosts/Netzwerken oder überschrittener TTL (Time To Live), sind Zeichen für 
einen abgeschalteten oder unerreichbaren Host. Auch eine ausbleibende Antwort 
wird so interpretiert. Falls ein offener Port erreicht wird, ignorieren die 
meisten Dienste das leere Paket einfach und geben keine Antwort zurück. Deswegen 
wird als Standardport 31338 benutzt, bei dem es sehr unwahrscheinlich ist, 
dass er benutzt wird. Einige Dienste, wie z.B. das Character 
Generator-Protokoll (chargen), antworten auf ein leeres UDP-Paket und enthüllen 
damit Nmap gegenüber, dass der Rechner zugänglich ist.</para>

<para>Der Hauptvorteil dieses Scan-Typs liegt darin, dass er Firewalls und 
Filter umgeht, die nur TCP überprüfen. Ich hatte z.B. einmal ein BEFW11S4, 
einen Wireless-Breitband-Router von Linksys. Die externe Schnittstelle dieses 
Geräts filterte standardmäßig alle TCP-Ports, aber UDP-Tests entlockten ihm 
weiterhin Meldungen über unerreichbare Ports und verrieten damit das 
Gerät.</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-PE</option>;
<option>-PP</option>;
<option>-PM</option> (ICMP-Ping-Arten)
<indexterm><primary><option>-PE</option></primary></indexterm>
<indexterm><primary><option>-PP</option></primary></indexterm>
<indexterm><primary><option>-PM</option></primary></indexterm>
<indexterm><primary>ICMP-Ping</primary></indexterm>
</term>
<listitem>

<para>Zusätzlich zu den genannten ungewöhnlichen TCP- und 
UDP-Host-Erkennungsarten kann Nmap auch Standardpakete senden, wie sie 
das allgegenwärtige Programm <application>ping</application> sendet. Nmap 
sendet ein ICMP Typ-8-Paket (Echo-Request) an die Ziel-IP-Adressen und 
erwartet eine Typ-0-Antwort (Echo-Reply) vom verfügbaren Host.<indexterm><primary>ICMP Echo</primary></indexterm>
Zum Leidwesen von Netzwerkerkundern blockieren viele Hosts und 
Firewalls heute diese Pakete, statt, wie in 
<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1122.txt">RFC 1122</ulink> verlangt, 
darauf zu antworten. Aus diesem Grund sind ICMP-Scans allein bei 
unbekannten Zielen über das Internet selten zuverlässig genug. Aber für 
Systemadministratoren, die ein internes Netzwerk überwachen, kann das ein 
praktischer und wirksamer Ansatz sein. Benutzen Sie die Option 
<option>-PE</option>, um dieses Verhalten mit Echo-Requests 
einzuschalten.</para>

<para>Auch wenn ein Echo-Request die Standard-ICMP-Ping-Abfrage 
ist, hört Nmap hier nicht auf. Der ICMP-Standard 
(<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc792.txt">RFC 792</ulink>) 
spezifiziert auch Anfragepakete für Zeitstempel, Information und 
Adressmaske mit den jeweiligen Codes 13, 15 und 17. 
Während diese Anfragen 
angeblich den Zweck haben, an Informationen wie Address Mask und Timestamp zu 
gelangen, können sie auch leicht für die Host-Erkennung benutzt werden. 
Im Moment implementiert Nmap keine Information-Request-Pakete, da sie 
nicht weit verbreitet sind (RFC 1122 besteht darauf, dass <quote>ein Host 
diese Nachrichten NICHT implementieren SOLLTE</quote>). 
Anfragen nach Timestamp und Address Mask können jeweils mit den 
Optionen <option>-PP</option> und <option>-PM</option>
gesendet werden. Eine Timestamp-Antwort (ICMP-Code 14) oder 
Address-Mask-Antwort (Code 18)
enthüllt, dass der Host greifbar ist. Diese beiden 
Abfragen können wertvoll sein, wenn Administratoren ausdrücklich 
Echo-Request-Pakete blockieren, aber vergessen, dass man für den 
gleichen Zweck auch andere ICMP-Abfragen benutzen kann.</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-PO <replaceable>protocol list</replaceable></option> (IP-Protokoll-Ping)
<indexterm><primary><option>-PO</option></primary></indexterm>
<indexterm><primary>IP-Protokoll-Ping</primary></indexterm>
</term>
<listitem>

<para>Die neueste Möglichkeit der Host-Erkennung ist ein IP-Protokoll-Ping, 
der IP-Pakete sendet, in deren IP-Header die angegebene Protokollnummer 
gesetzt ist. Die Protokoll-Liste hat dasselbe Format wie Portlisten bei 
den weiter oben vorgestellten Optionen der TCP- und UDP-Host-Erkennung. 
Ohne Angabe von Protokollen werden standardmäßig mehrere IP-Pakete für 
ICMP (Protokoll 1), IGMP (Protokoll 2) und IP-in-IP (Protokoll 4) gesendet. 
Die Standardprotokolle können zum Zeitpunkt des Kompilierens durch  
Veränderung von <varname>DEFAULT_PROTO_PROBE_PORT_SPEC</varname><indexterm><primary><varname>DEFAULT_PROTO_PROBE_PORT_SPEC</varname></primary></indexterm>
in <filename>nmap.h</filename> konfiguriert werden.
Beachten Sie, dass für ICMP, IGMP, TCP (Protokoll 6) und UDP (Protokoll 17) 
die Pakete mit den richtigen Protokoll-Headern gesendet werden, während 
andere Protokolle ohne weitere Daten über den IP-Header hinaus gesendet werden 
(es sei denn, die Option <option>--data-length</option> wird angegeben).</para>

<para>Diese Methode der Host-Erkennung sucht nach Antworten, die entweder 
dasselbe Protokoll wie der Test haben, oder Meldungen, dass das 
ICMP-Protokoll nicht erreichbar ist, was bedeutet, dass das gegebene 
Protokoll vom Zielhost nicht unterstützt wird. Beide Antworten bedeuten, 
dass der Zielhost am Leben ist.</para>

</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-PR</option> (ARP-Ping)
<indexterm><primary><option>-PR</option></primary></indexterm>
<indexterm><primary>ARP-Ping</primary></indexterm>
</term>
<listitem>

<para>Eines der häufigsten Einsatzszenarien für Nmap ist das Scannen eines 
Ethernet-LANs. In den meisten LANs, besonders jenen, die durch 
<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1918.txt">RFC 1918</ulink> erteilte 
private Adressbereiche verwenden, wird der Großteil der IP-Adressen meistens 
nicht genutzt. Wenn Nmap versucht, ein rohes IP-Paket wie z.B. ein 
ICMP Echo-Request zu senden, muss das Betriebssystem die der Ziel-IP 
entsprechende Hardware-Zieladresse (ARP) bestimmen, damit es den 
Ethernet-Frame korrekt adressieren kann. Das ist oft langsam und 
problematisch, da Betriebssysteme nicht in der Erwartung geschrieben 
wurden, dass sie in kurzer Zeit Millionen von ARP-Anfragen bei nicht 
erreichbaren Hosts durchführen müssen.</para>

<para>Beim ARP-Scan ist Nmap mit seinen optimierten Algorithmen 
zuständig für ARP-Anfragen. Und wenn es eine Antwort erhält, muss 
sich Nmap nicht einmal um die IP-basierten Ping-Pakete kümmern, da 
es bereits weiß, dass der Host aktiv ist. Das macht den ARP-Scan 
viel schneller und zuverlässiger als IP-basierte Scans. 
Deswegen wird er standardmäßig ausgeführt, wenn Ethernet-Hosts 
gescannt werden, bei denen Nmap bemerkt, dass sie sich in einem 
lokalen Ethernet-Netzwerk befinden. Selbst wenn verschiedene Ping-Arten 
(wie z.B. <option>-PE</option> oder <option>-PS</option>) angegeben 
werden, benutzt Nmap stattdessen ARP bei allen Zielen, die im selben 
LAN sind. Wenn Sie einen ARP-Scan auf gar keinen Fall durchführen 
möchten, geben Sie <option>--send-ip</option> an.</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--traceroute</option> (Traceroutes zum Host)
<indexterm significance="preferred"><primary><option>--traceroute</option></primary></indexterm>
<indexterm significance="preferred"><primary>traceroute</primary></indexterm>
</term>
<listitem>

<para>
Traceroutes werden nach einem Scan mit Hilfe der Information aus den 
Scan-Ergebnissen durchgeführt, um den wahrscheinlichsten Port und das 
wahrscheinlichste Protokoll zu bestimmen, die zum Ziel führen. Es 
funktioniert mit allen Scan-Arten außer Connect-Scans 
(<option>-sT</option>) und Idle-Scans (<option>-sI</option>). 
Alle Traces benutzen Nmaps dynamisches Timing-Modell und werden parallel 
durchgeführt.
</para>

<para>
Traceroute funktioniert dadurch, dass es Pakete mit kurzer TTL 
(Time To Live) sendet und damit versucht, ICMP Time-Exceeded-Nachrichten 
von Sprungstellen zwischen dem Scanner und dem Zielhost hervorzurufen. 
Standardimplementationen von Traceroute fangen mit einer TTL von 1 an 
und inkrementieren die TTL, bis der Zielhost erreicht ist. Nmaps 
Traceroute fängt mit einer hohen TTL an und verringert sie, bis sie 
Null erreicht. Durch dieses umgekehrte Vorgehen kann Nmap clevere 
Caching-Algorithmen benutzen, um Traces über mehrere Hosts zu 
beschleunigen. Im Durchschnitt sendet Nmap je nach Netzwerkbedingungen 
5&#x02013;10 Pakete weniger pro Host. Wenn ein einziges Unternetz gescannt 
wird (z.B. 192.168.0.0/24), muss Nmap an die meisten Hosts eventuell nur ein 
einziges Paket senden.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-n</option> (keine DNS-Auflösung)
<indexterm><primary><option>-n</option></primary></indexterm>
</term>
<listitem>

<para>Weist Nmap an, <emphasis>niemals</emphasis> eine 
Reverse-DNS-Auflösung<indexterm><primary>Reverse-DNS</primary><secondary>ausschalten mit <option>-n</option></secondary></indexterm>
bei den gefundenen aktiven IP-Adressen durchzuführen. 
Da DNS selbst mit Nmaps eingebautem parallelen Stub-Resolver 
langsam sein kann, kann diese Option die Scan-Zeiten dramatisch 
reduzieren.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>-R</option> (DNS-Auflösung für alle Ziele)
<indexterm><primary><option>-R</option></primary></indexterm>
</term>
<listitem>
<para>Weist Nmap an, <emphasis>immer</emphasis> eine 
Reverse-DNS-Auflösung bei den Ziel-IP-Adressen durchzuführen. 
Normalerweise wird Reverse-DNS nur bei anwortenden Hosts 
(die online sind) durchgeführt.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--system-dns</option> (verwendet DNS-Auflösung des Systems)
<indexterm significance="preferred"><primary><option>--system-dns</option></primary></indexterm>
</term>
<listitem>

<para>Standardmäßig löst Nmap IP-Adressen auf, indem es Anfragen direkt 
an die auf Ihrem Host konfigurierten Nameserver schickt und dann auf 
Antworten wartet. Um die Performance zu erhöhen, werden viele Anfragen 
(oftmals Dutzende) parallel ausgeführt.
Wenn Sie diese Option angeben, verwenden Sie stattdessen die 
Auflösungsmethode Ihres Systems (zu jedem Zeitpunkt nur eine IP mit dem 
Aufruf <function>getnameinfo</function> call). Das ist langsam und selten 
nützlich, es sei denn, Sie finden einen Fehler bei der parallelen 
Auflösung in Nmap (bitte teilen Sie uns das mit). Bei IPv6-Scans wird 
immer die Auflösungsmethode des Systems verwendet.
<indexterm><primary>IPv6</primary><secondary>Beschränkungen</secondary></indexterm>
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--dns-servers <replaceable>server1</replaceable><optional>,<replaceable>server2</replaceable><optional>,...</optional></optional>
</option> (Server, die für Reverse-DNS-Anfragen benutzt werden)
<indexterm significance="preferred"><primary><option>--dns-servers</option></primary></indexterm>
</term>
<listitem>

<para>Standardmäßig bestimmt Nmap Ihre DNS-Server (für die 
rDNS-Auflösung) aus Ihrer Datei resolv.conf (Unix) oder der 
Registry (Win32). Mit dieser Option können Sie alternative Server 
dazu angeben. Diese Option bleibt unbeachtet, falls Sie 
<option>--system-dns</option> oder einen IPv6-Scan benutzen. Oft ist 
es schneller, mehrere DNS-Server zu benutzen, besonders dann, wenn 
Sie für Ihren Ziel-IP-Raum maßgebende Server benutzen. Diese Option 
kann auch die Heimlichkeit erhöhen, da Ihre Anfragen von fast jedem  
rekursiven DNS-Server im Internet abprallen können.</para>

<para>Diese Option ist auch beim Scannen privater Netzwerke praktisch. 
Manchmal bieten nur einige wenige Nameserver saubere rDNS-Information, 
und Sie wissen vielleicht nicht einmal, wo sie sind. Sie können das 
Netzwerk auf Port 53 scannen (vielleicht mit Versionserkennung), dann 
Nmap-List-Scans versuchen (<option>-sL</option>) und dabei mit der 
Option <option>--dns-servers</option> immer nur einen Nameserver 
angeben, bis Sie einen finden, der funktioniert.</para>


</listitem>
</varlistentry>
</variablelist>
<indexterm class="endofrange" startref="man-host-discovery-indexterm"/>
</refsect1>

<refsect1 id='man-port-scanning-basics'>
<title>Grundlagen von Port-Scans</title>

<para>Nmap hat über die Jahre an Funktionalität zugelegt, aber angefangen 
hat es als effizienter Port-Scanner, und das ist weiterhin seine Kernfunktion. 
Der einfache Befehl 
<command>nmap <replaceable>target</replaceable></command> scannt die am 
häufigsten verwendeten 1000 TCP-Ports auf dem Host 
<replaceable>target</replaceable> und klassifiziert jeden Port in einen der 
Zustände 
<literal>offen</literal>, <literal>geschlossen</literal>, 
<literal>gefiltert</literal>, <literal>ungefiltert</literal>,
<literal>offen|gefiltert</literal> oder
<literal>geschlossen|gefiltert</literal>.</para>

<para>Diese Zustände sind 
keine echten Eigenschaften eines Ports selbst, sondern beschreiben, wie Nmap 
ihn sieht. Ein Nmap-Scan z.B., bei dem Ausgangs- und Zielnetzwerk identisch 
sind, könnte Port <literal>135/tcp</literal> als offen anzeigen, während ein 
Scan zur selben Zeit mit denselben Optionen über das Internet diesen Port 
als <literal>gefiltert</literal> anzeigen könnte.</para>

<variablelist><title>Die sechs von Nmap erkannten Port-Zustände</title>

<varlistentry><term>
<indexterm><primary><literal>offen</literal> Portzustand</primary></indexterm>
offen</term>
<listitem><para>Ein Programm ist bereit, TCP-Verbindungen oder UDP-Pakete 
auf diesem 
Port anzunehmen. Beim Port-Scanning ist es oftmals das Ziel, solche Ports 
zu finden. Sicherheitsbewusste Leute wissen, dass jeder offene Port eine 
breite Einfahrtstrasse für Angriffe darstellt. Angreifer und 
Penetrationstester wollen offene Ports ausbeuten (engl. exploit), 
während Administratoren versuchen, sie zu schließen oder mit Firewalls 
zu schützen, ohne legitime Benutzer zu behindern.
Offene Ports sind auch für Scans von Interesse, bei denen es nicht um 
Sicherheit geht, weil sie Dienste anzeigen, die im Netzwerk benutzt werden 
können. 
</para></listitem></varlistentry>

<varlistentry><term>
<indexterm><primary><literal>geschlossen</literal> Portzustand</primary></indexterm>
geschlossen</term>

<listitem><para>Ein geschlossener Port ist erreichbar (er empfängt und 
antwortet auf Nmap-Testpakete), aber es gibt kein Programm, das ihn 
abhört. Er kann von Nutzen sein, um zu zeigen, dass ein Host online ist 
und eine IP-Adresse benutzt (Host-Erkennung oder Ping-Scanning), sowie 
als Teil der Betriebssystemerkennung. Weil geschlossene Ports erreichbar 
sind, sind sie es wert, gescannt zu werden, falls sie später einmal 
geöffnet werden sollten.
Administratoren möchten solche Ports vielleicht mit einer Firewall 
blockieren, damit sie im Zustand gefiltert erscheinen, der als Nächstes 
beschrieben wird.
</para></listitem></varlistentry>

<varlistentry><term>
<indexterm><primary><literal>gefiltert</literal> Portzustand</primary></indexterm>
gefiltert</term>

<listitem><para>Nmap kann nicht feststellen, ob der Port offen ist, weil 
eine Paketfilterung verhindert, dass seine Testpakete den Port erreichen. 
Die Filterung könnte durch dafür vorgesehene Firewall-Geräte, Router-Regeln 
oder hostbasierte Firewall-Software erfolgen. Weil sie so wenig Information 
bringen, sind diese Ports für Angreifer frustrierend. Manchmal 
antworten sie mit ICMP-Fehlermeldungen wie Typ 3, Code 13 
(Destination Unreachable: Communication Administratively Prohibited), 
aber Filter, die Testpakete ohne Antwort einfach verwerfen, kommen 
wesentlich häufiger vor. Das zwingt Nmap zu mehreren wiederholten 
Versuchen, um auszuschließen, dass das Testpaket wegen einer 
Netzwerküberlastung statt durch eine Filterung verworfen wurde. Diese 
Art der Filterung verlangsamt einen Scan 
dramatisch.</para></listitem></varlistentry>

<varlistentry><term>
<indexterm><primary><literal>ungefiltert</literal> Portzustand</primary></indexterm>
ungefiltert</term>
<listitem><para>Der Zustand ungefiltert bedeutet, dass ein Port 
zugänglich ist, aber Nmap nicht feststellen kann, ob er offen oder 
geschlossen ist. Nur der ACK-Scan, 
der benutzt wird, um Firewall-Regelwerke zu bestimmen, 
klassifiziert Ports in diesen Zustand. 
Um festzustellen, ob ein ungefilterter Port offen ist, kann es hilfreich 
sein, ihn mit anderen Scan-Methoden wie Window-Scan, 
SYN-Scan oder FIN-Scan zu scannen.
</para></listitem></varlistentry>

<varlistentry><term>
<indexterm><primary><literal>offen|gefiltert</literal> Portzustand</primary></indexterm>
offen|gefiltert</term>
<listitem><para>Nmap klassifiziert einen Port in diesen Zustand, 
wenn es nicht feststellen kann, ob der Port offen oder gefiltert ist. 
Das kommt bei Scan-Methoden vor, in denen offene Ports keine Antwort 
geben. Das Fehlen einer Antwort könnte auch bedeuten, dass ein Paketfilter 
das Testpaket verworfen hat oder dass keine Antwort provoziert werden 
konnte. Deswegen weiß Nmap nicht sicher, ob der Port offen ist oder 
gefiltert wird. Ports werden von den UDP-, IP-Protokoll-, FIN-, NULL- und 
Xmas-Scans auf diese Weise klassifiziert.
</para></listitem></varlistentry>

<varlistentry><term>
<indexterm><primary><literal>geschlossen|gefiltert</literal> Portzustand</primary></indexterm>
geschlossen|gefiltert</term>
<listitem><para>Dieser Zustand wird benutzt, wenn Nmap nicht feststellen 
kann, ob ein Port geschlossen ist oder gefiltert wird. Er wird nur vom 
IP-ID-Idle-Scan benutzt.
</para></listitem></varlistentry>
</variablelist>
</refsect1>


<refsect1 id='man-port-scanning-techniques'>
<title>Port-Scanning-Methoden</title>

<para>Als Hobby-Automechaniker kann ich mich stundenlang damit 
herumquälen, meine einfachsten Werkzeuge (Hammer, Klebeband,
Schraubenschlüssel etc.) an mein Problem anzupassen. Wenn ich dann 
kläglich versage und meine alte Blechkiste zu einem echten Mechaniker 
schleppe, fischt er immer so lange in einer riesigen Werkzeugkiste 
herum, bis er das perfekte Ding gefunden hat, mit dem sich die Aufgabe 
fast von allein löst. Bei der Kunst des Port-Scannings ist es ähnlich. 
Experten kennen Dutzende von Scan-Methoden und wählen für jede 
Aufgabe die geeignete (oder eine Kombination von mehreren) aus. 
Auf der anderen Seite versuchen unerfahrene Benutzer und 
Script-Kiddies,<indexterm><primary>Script Kiddies</primary></indexterm> 
jedes Problem mit dem standardmäßigen SYN-Scan zu lösen. Da Nmap gratis 
ist, ist Unwissen das einzige Hindernis auf dem Weg zur Meisterschaft 
im Port-Scanning. 
Das ist bestimmt besser als in der Autowelt, wo man eventuell sehr viel 
Können haben muss, um festzustellen, dass man einen 
Federbein-Kompressor benötigt, 
und dann immer noch Tausende dafür bezahlen muss.</para>

<para>Die meisten Scan-Typen stehen nur privilegierten Benutzern zur 
Verfügung,<indexterm><primary>Benutzer mit Sonderrechten</primary></indexterm>
und zwar deswegen, weil sie rohe 
IP-Pakete<indexterm><primary>rohe Pakete</primary></indexterm>
senden und empfangen, wofür auf Unix-Systemen root-Rechte benötigt werden. 
Auf Windows empfiehlt sich ein Administrator-Account, 
wenngleich auf dieser Plattform Nmap manchmal auch für unprivilegierte Benutzer 
funktioniert, sofern WinPcap bereits in das 
Betriebssystem geladen wurde. Als Nmap 1997 veröffentlicht wurde, war die 
Voraussetzung von root-Rechten eine ernsthafte Beschränkung, da viele Benutzer 
nur Zugriff zu Shell-Accounts hatten. Die Welt von heute ist anders. 
Computer sind billiger, wesentlich mehr Menschen verfügen über einen 
immer verfügbaren direkten Internet-Zugang, und Desktop-Unix-Systeme 
(inklusive Linux und Mac OS X) sind weit verbreitet. Eine Windows-Version 
von Nmap ist nun auch verfügbar, wodurch es nun auf noch mehr Rechnern 
laufen kann. Aus all diesen Gründen sind Benutzer nur noch selten 
gezwungen, Nmap von einem beschränkten Shell-Account aus einzusetzen. 
Das ist erfreulich, denn die privilegierten Optionen machen Nmap wesentlich 
mächtiger und flexibler.</para>

<para>Auch wenn Nmap versucht, genaue Ergebnisse zu produzieren, sollten 
Sie nicht vergessen, dass all seine Erkenntnisse auf Paketen basieren, die 
von den Zielrechnern (oder den Firewalls davor) zurückkommen. Solche Hosts 
können unzuverlässig sein und eine Antwort senden, die Nmap verwirren oder 
täuschen soll. Wesentlich häufiger sind Hosts, die nicht RFC-konform sind 
und auf Testpakete von Nmap nicht so antworten, wie sie sollten. FIN-, 
NULL- und Xmas-Scans sind für dieses Problem besonders anfällig. Solche 
Probleme sind spezifisch für bestimmte Scan-Methoden und werden daher 
in den jeweiligen Abschnitten erörtert.</para>

<para>Dieser Abschnitt dokumentiert die etwa ein Dutzend von Nmap 
unterstützten Port-Scan-Methoden. Es darf immer nur eine Methode 
allein benutzt werden, mit der Ausnahme von 
UDP-Scans (<option>-sU</option>), die sich mit allen anderen 
TCP-Scan-Methoden kombinieren lassen. Hier eine Gedächtnisstütze: 
Optionen für Port-Scan-Methoden haben die Form  
<option>-s<replaceable>C</replaceable></option>, wobei 
<replaceable>C</replaceable> ein bedeutender Buchstabe im Scan-Namen ist, 
normalerweise der erste. Die eine Ausnahme hiervon ist der als veraltet 
betrachtete FTP-Bounce-Scan (<option>-b</option>). 
Nmap führt standardmäßig einen SYN-Scan durch, ersetzt diesen aber mit 
einem Connect-Scan, falls der Benutzer nicht die nötigen Rechte hat, 
um rohe Pakete (benötigen unter Unix root-Rechte) zu senden, oder falls er
IPv6-Ziele angegeben hat. Von den in diesem Abschnitt aufgelisteten 
Scans dürfen Benutzer ohne Sonderrechte nur den Connect- und 
FTP-Bounce-Scan ausführen.</para>

    <variablelist>
      <varlistentry>
        <term>
        <option>-sS</option> (TCP-SYN-Scan)
        <indexterm><primary><option>-sS</option></primary></indexterm>
        <indexterm><primary>SYN-Scan</primary></indexterm>
        </term>
        <listitem>

<para>Der SYN-Scan ist aus gutem Grund die Standardeinstellung 
und die beliebteste Scan-Methode. Er kann schnell durchgeführt werden 
und scannt dabei Tausende von Ports pro Sekunde, wenn das Netzwerk schnell 
ist und nicht von einer intrusiven Firewall behindert wird. 
Der SYN-Scan ist relativ unauffällig, da er TCP-Verbindungen niemals 
abschließt. Außerdem funktioniert er auch bei allen konformen TCP-Stacks 
und ist unabhängig von spezifischen Eigenarten von Plattformen, wie es bei den  
FIN-/NULL-/Xmas-, Maimon- und Idle-Scans in Nmap der Fall ist. Er erlaubt 
auch eine klare, zuverlässige Unterscheidung zwischen den Zuständen 
<literal>offen</literal>, <literal>geschlossen</literal> und 
<literal>gefiltert</literal>.</para>

<para>Diese Methode wird oft als halboffenes Scannen bezeichnet, 
weil keine vollständige TCP-Verbindung hergestellt wird. Sie senden 
ein SYN-Paket, als ob Sie eine echte Verbindung herstellen würden, 
und warten dann auf eine Antwort. Ein SYN/ACK zeigt, dass jemand auf 
dem Port lauscht (dass er offen ist), während ein RST (Reset) anzeigt, 
dass niemand darauf lauscht. Falls nach mehreren erneuten Übertragungen 
keine Antwort erhalten wird, wird der Port als gefiltert markiert. 
Der Port wird auch dann als gefiltert markiert, wenn ein 
ICMP Unreachable-Fehler 
(Typ 3, Code 1, 2, 3, 9, 10 oder 13) empfangen wird.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sT</option> (TCP-Connect-Scan)
        <indexterm><primary><option>-sT</option></primary></indexterm>
        <indexterm><primary>Connect-Scan</primary></indexterm>
        </term>
        <listitem>
<para>Der TCP-Connect-Scan ist der standardmäßig eingestellte TCP-Scan-Typ, 
falls der SYN-Scan nicht möglich ist. Das ist dann der Fall, wenn der 
Benutzer kein Recht hat, rohe Pakete zu senden, oder wenn er IPv6-Netzwerke 
scannt. Statt rohe Pakete zu schreiben, wie es die meisten anderen Scan-Typen 
machen, bittet Nmap das darunterliegende Betriebssystem, eine Verbindung 
mit dem Zielrechner und -port herzustellen, indem es einen Systemaufruf 
namens <function>connect</function> benutzt. Das ist derselbe Systemaufruf 
auf höherer Ebene, den Webbrowser, P2P-Clients und die meisten anderen 
netzwerkfähigen Anwendungen benutzen, um eine Verbindung herzustellen. 
Er ist Teil einer Programmierschnittstelle, die unter dem Namen Berkeley 
Sockets-API bekannt ist. Statt Antworten in Form roher Pakete von der 
Leitung zu lesen, benutzt Nmap diese API, um zu jedem Verbindungsversuch 
eine Statusinformation zu erhalten.
</para>

<para>Wenn der SYN-Scan verfügbar ist, ist er normalerweise die bessere Wahl. 
Nmap hat weniger Einfluss auf den <function>connect</function>-Systemaufruf 
als auf rohe Pakete, wodurch es weniger effizient wird. Der Systemaufruf 
beendet Verbindungen zu offenen Ziel-Ports vollständig, statt sie in  
halboffenen Zustand zurückzusetzen, wie es der SYN-Scan macht. Das dauert 
nicht nur länger und erfordert mehr Pakete, um an dieselbe Information zu 
gelangen, sondern es ist sehr viel wahrscheinlicher, dass die Zielrechner 
die Verbindung protokollieren. Ein anständiges IDS wird beides mitbekommen, 
aber die meisten Rechner verfügen nicht über ein solches Alarmsystem. 
Viele Dienste auf Ihrem durchschnittlichen Unix-System fügen eine Notiz 
ins syslog hinzu und manchmal eine kryptische Fehlermeldung, wenn Nmap 
eine Verbindung herstellt und sofort wieder schließt, ohne Daten zu senden. 
Ganz armselige Dienste stürzen auch ab, wenn so etwas passiert, was aber 
eher selten ist. Ein Administrator, der in seinen Protokollen einen Haufen 
Verbindungsversuche von einem einzelnen System aus sieht, sollte wissen, 
dass er Ziel eines Connect-Scans wurde.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sU</option> (UDP-Scan)
<indexterm><primary><option>-sU</option></primary></indexterm>
<indexterm><primary>UDP-Scan</primary></indexterm>
</term>
        <listitem>

<para>Obwohl die meisten bekannten Dienste im Internet über das TCP-Protokoll 
laufen, sind <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc768.txt">UDP</ulink>-Dienste 
weitverbreitet. Drei der häufigsten sind DNS, SNMP und DHCP (auf den 
registrierten Ports 53, 161/162 und 
67/68). Weil UDP-Scans im Allgemeinen langsamer und schwieriger als TCP-Scans sind, 
werden diese Ports von manchen Sicherheitsprüfern einfach ignoriert. 
Das ist ein Fehler, denn ausbeutbare UDP-Dienste sind recht häufig, und 
Angreifer ignorieren bestimmt nicht das ganze Protokoll. Zum Glück kann 
Nmap helfen, diese UDP-Ports zu inventarisieren.</para>

<para>Ein UDP-Scan wird mit der Option <option>-sU</option> aktiviert. 
Er kann mit einem TCP-Scan-Typ wie einem SYN-Scan (<option>-sS</option>) 
kombiniert werden, um beide Protokolle im gleichen Durchlauf zu 
prüfen.</para>

<para>Beim UDP-Scan wird ein leerer UDP-Header (ohne Daten) an alle 
Ziel-Ports geschickt. Falls ein 
ICMP Port-unreachable-Fehler (Typ 3, Code 3) zurückkommt, ist der 
Port <literal>geschlossen</literal>. Andere ICMP Unreachable-Fehler 
(Typ 3, Codes 1, 2, 9, 10 oder 13) markieren den Port als 
<literal>filtered</literal>. Gelegentlich wird ein Dienst mit einem 
UDP-Paket antworten, was beweist, das er <literal>offen</literal> ist. 
Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, 
wird der Port als <literal>offen|gefiltert</literal> klassifiziert. 
Das heißt, der Port könnte offen sein, oder aber es gibt Paketfilter, 
die die Kommunikation blockieren. Man kann eine Versionserkennung 
(<option>-sV</option>) benutzen, um bei der Unterscheidung der wirklich 
offenen von den geschlossenen Ports zu helfen.</para>

<para>Eine große Herausforderung beim UDP-Scanning ist Geschwindigkeit. 
Offene und gefilterte Ports antworten nur selten, wodurch Nmap 
Zeitbeschränkungen überschreitet und seine Anfragen erneut sendet, 
für den Fall, dass das Testpaket oder die Antwort verloren ging. 
Geschlossene Ports sind oftmals ein noch größeres Problem. 
Sie senden normalerweise eine ICMP Port-unreachable-Fehlermeldung 
zurück. Aber anders als die RST-Pakete, die von geschlossenen TCP-Ports 
als Antwort auf einen SYN- oder Connect-Scan geschickt werden, 
beschränken viele Hosts standardmäßig die 
Rate<indexterm><primary>Ratenbeschränkung</primary></indexterm>
der ICMP Port-unreachable-Nachrichten. Linux und Solaris sind dabei 
besonders streng. Der Linux-Kernel 2.4.20 z.B. beschränkt 
Destination-unreachable-Nachrichten auf eine pro Sekunde 
(in <filename>net/ipv4/icmp.c</filename>).</para>

<para>Nmap erkennt eine Ratenbeschränkung und verlangsamt seinen Betrieb 
entsprechend, um zu vermeiden, dass das Netzwerk mit nutzlosen Paketen 
überflutet wird, die vom Zielrechner verworfen werden. Unglücklicherweise 
führt eine Beschränkung wie in Linux auf ein Paket pro Sekunde  
dazu, dass ein Scan von 65.536 Ports über 18 Stunden dauert. Um Ihre 
UDP-Scans zu beschleunigen, können Sie z.B. mehr Hosts parallel scannen, 
zuerst nur einen schnellen Scan der beliebten Ports durchführen, 
von hinter der Firewall scannen und die Option 
<option>--host-timeout</option> benutzen, um langsame Hosts 
auszulassen.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sN</option>; <option>-sF</option>; <option>-sX</option> (TCP-NULL-, FIN- und -Xmas-Scans)
<indexterm><primary><option>-sN</option></primary></indexterm>
<indexterm><primary><option>-sF</option></primary></indexterm>
<indexterm><primary><option>-sX</option></primary></indexterm>
<indexterm><primary>NULL-Scan</primary></indexterm>
<indexterm><primary>FIN-Scan</primary></indexterm>
<indexterm><primary>Xmas-Scan</primary></indexterm>
</term>
        <listitem>

<para>Diese drei Scan-Typen (noch mehr sind mit der im nächsten Abschnitt 
beschriebenen Option <option>--scanflags</option> möglich) 
beuten ein subtiles Schlupfloch im <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc793.txt">TCP RFC</ulink> 
aus, um zwischen <literal>offenen</literal> und 
<literal>geschlossenen</literal> Ports zu unterscheiden. Seite 65 von 
RFC 793 besagt: <quote>Falls der Zustand des 
[Ziel-] Ports GESCHLOSSEN ist ... bewirkt ein eingehendes Segment, in dem 
sich kein RST befindet, dass ein RST als Antwort gesendet wird.</quote> 
Die nächste Seite beschreibt dann Pakete, die ohne gesetztes SYN-, RST- 
oder ACK-Bit an offene Ports geschickt werden, und dort heißt es weiter: 
<quote>Es ist unwahrscheinlich, dass Sie hierhin kommen, aber wenn doch, 
dann verwerfen Sie das Segment und springen Sie zurück.</quote></para>

<para>Beim Scannen von Systemen, die konform zu diesem RFC-Text sind, 
führt jedes Paket, das kein SYN-, RST- oder ACK-Bit enthält, dazu, dass 
ein RST zurückgegeben wird, wenn der Port geschlossen ist, bzw. zu gar 
keiner Antwort, falls der Port offen ist. Solange keines dieser drei Bits 
gesetzt ist, sind alle Kombinationen der anderen drei (FIN, PSH und URG) 
okay. Das nutzt Nmap mit drei Scan-Typen aus:</para>

<variablelist>
  <varlistentry><term>Null-Scan (<option>-sN</option>)</term>
  <listitem><para>Setzt keinerlei Bits (der TCP-Flag-Header ist 0).</para></listitem></varlistentry> 

  <varlistentry><term>FIN-Scan (<option>-sF</option>)</term>
  <listitem><para>Setzt nur das TCP-FIN-Bit.</para></listitem></varlistentry> 

  <varlistentry><term>Xmas-Scan (<option>-sX</option>)</term>
  <listitem><para>Setzt die FIN-, PSH- und URG-Flags und beleuchtet 
  das Paket wie einen Weihnachtsbaum (engl. Xmas).</para></listitem></varlistentry>
</variablelist>

<para>Diese drei Scan-Typen haben exakt dasselbe Verhalten und unterscheiden 
sich nur in den TCP-Flags ihrer Testpakete. Wenn ein RST-Paket empfangen 
wird, wird der Port als <literal>geschlossen</literal> betrachtet, während 
keine Antwort bedeutet, dass er <literal>offen|gefiltert</literal> ist. 
Der Port wird als <literal>gefiltert</literal> markiert, falls ein 
ICMP Unreachable-Fehler (Type 3, Code 1, 2, 3, 9, 10 oder 13) 
empfangen wird.</para>

<para>Der Schlüsselvorteil dieser Scan-Arten ist, dass sie sich an 
bestimmten zustandslosen Firewalls und paketfilternden Routern 
vorbeschleichen können. Ein weiterer Vorteil ist, dass diese Scan-Arten 
ncoh ein wenig unauffälliger sind als ein SYN-Scan. Aber verlassen 
Sie sich nicht darauf &#x02013; die meisten modernen IDS-Produkte können 
so konfiguriert werden, dass sie diese Scans erkennen. Der große Nachteil 
ist, dass nicht alle Systeme sich ganz genau an RFC 793 halten. Eine 
Reihe von Systemen sendet RST-Antworten auf die Testpakete, unabhängig 
davon, ob der Port offen ist oder nicht. Das bewirkt, dass alle Ports 
als <literal>geschlossen</literal> markiert werden. Hauptvertreter 
der Betriebssysteme, die das machen, sind Microsoft Windows, viele 
Cisco-Geräte, BSDI und IBM OS/400. 
Aber auf den meisten Unix-basierten Systemen funktioniert dieser Scan. 
Ein weiterer Nachteil dieser Scans ist, dass sie keine Unterscheidung 
zwischen <literal>offenen</literal> und bestimmten 
<literal>gefilterten</literal> Ports machen, sondern lediglich das 
Ergebnis <literal>offen|gefiltert</literal> ausgeben.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sA</option> (TCP-ACK-Scan)
        <indexterm><primary><option>-sA</option></primary></indexterm>
        <indexterm><primary>ACK-Scan</primary></indexterm>
        </term>
        <listitem>

<para>Dieser Scan unterscheidet sich insofern von den bisher hier 
vorgestellten, als er nie <literal>offene</literal> (oder auch nur 
<literal>offene|gefilterte</literal>) Ports bestimmt. Er wird dazu benutzt, 
Firewall-Regeln zu bestimmen, festzustellen, ob sie zustandsbehaftet sind 
oder nicht, und welche Ports gefiltert werden.</para>

<para>Beim Testpaket eines ACK-Scans wird nur das ACK-Flag gesetzt 
(es sei denn, Sie benutzen <option>--scanflags</option>). Beim Scannen 
ungefilterter Systeme werden sowohl <literal>offene</literal> als auch 
<literal>geschlossene</literal> Ports ein RST-Paket zurückgeben. Nmap 
markiert sie dann als <literal>ungefiltert</literal>, d.h. sie werden 
vom ACK-Paket erreicht, aber es kann nicht bestimmt werden, ob sie 
<literal>offen</literal> oder <literal>geschlossen</literal> sind. 
Ports, die nicht antworten oder bestimmte ICMP-Fehlermeldungen 
zurückgeben (Type 3, Code 1, 2, 3, 9, 10 oder 13), werden als 
<literal>gefiltert</literal> markiert.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sW</option> (TCP-Window-Scan)
<indexterm><primary><option>-sW</option></primary></indexterm>
<indexterm><primary>Window-Scan</primary></indexterm>
</term>
        <listitem>

<para>Der Window-Scan ist genau derselbe wie der ACK-Scan, nur dass er 
ein Implementationsdetail bestimmter Systeme zur Unterscheidung zwischen 
offenen und geschlossenen Ports nutzt, statt bei jedem erhaltenen RST immer 
nur <literal>ungefiltert</literal> anzugeben. Das geschieht durch Analyse 
der TCP-Fenstergröße der zurückgegebenen RST-Pakete. 
Auf manchen Systemen benutzen offene Ports eine positive Fenstergröße 
(sogar für RST-Pakete), während geschlossene eine Fenstergröße von Null 
haben. Statt einen Port immer als <literal>ungefiltert</literal> 
aufzulisten, wenn von dort ein RST zurückkommt, listet der Window-Scan 
den Port als <literal>offen</literal> oder <literal>geschlossen</literal> 
auf, je nachdem, ob die TCP-Fenstergröße in diesem Reset jeweils positiv 
oder Null ist.</para>

<para>Dieser Scan baut auf einem Implementationsdetail einer Minderheit von 
Systemen im Internet auf, d.h. Sie können sich nicht immer darauf verlassen. 
Systeme, die es nicht unterstützen, werden normalerweise alle Ports als 
<literal>geschlossen</literal> zurückgeben. Natürlich ist es möglich, dass 
auf dem Rechner wirklich keine offenen Ports sind. Falls die meisten 
gescannten Ports <literal>geschlossen</literal>, aber einige Ports 
mit geläufigen Nummern (wie 22, 25 und 53) <literal>gefiltert</literal> sind, 
dann ist das System sehr wahrscheinlich anfällig. Gelegentlich zeigen 
Systeme auch genau das gegenteilige Verhalten. Falls Ihr Scan 1000 offene 
und drei geschlossene oder gefilterte Ports anzeigt, dann könnten jene drei 
sehr wohl die wirklich wahren offenen Ports sein.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sM</option> (TCP-Maimon-Scan)
<indexterm><primary><option>-sM</option></primary></indexterm>
<indexterm><primary>Maimon-Scan</primary></indexterm>
</term>
        <listitem>

<para>Der Maimon-Scan wurde nach seinem Erfinder, Uriel 
Maimon,<indexterm><primary>Maimon, Uriel</primary></indexterm> benannt. 
Er hat diese Methode im 
<citetitle>Phrack</citetitle>-Magazin, Ausgabe #49 (November 1996),<indexterm><primary><citetitle>Phrack</citetitle></primary></indexterm> 
beschrieben. 
Zwei Ausgaben später war diese Methode in Nmap enthalten. Sie macht genau 
das Gleiche wie der NULL-, FIN- und Xmas-Scan, außer, dass sie ein 
FIN/ACK-Testpaket verwendet. Laut <ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc793.txt">RFC 793</ulink> (TCP) 
sollte als Antwort auf solch ein Paket ein RST-Paket erzeugt werden, 
egal ob der Port offen oder geschlossen ist. Allerdings hatte Uriel bemerkt, 
dass viele von BSD abgeleitete Systeme das Paket einfach verwerfen, 
wenn der Port offen ist.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--scanflags</option> (Benutzerdefinierter TCP-Scan)
        <indexterm><primary><option>--scanflags</option></primary></indexterm></term>
        <listitem>


<para>Wirklich fortgeschrittene Nmap-Benutzer brauchen sich nicht auf die 
vorgefertigten Scan-Typen zu beschränken. Mit der Option 
<option>--scanflags</option> können Sie Ihren eigenen Scan entwerfen, 
für den Sie beliebige TCP-Flags angeben 
können.<indexterm><primary>TCP-Flags</primary></indexterm> 
Lassen Sie Ihrer Kreativität freien Lauf und umgehen Sie 
Intrusion-Detection-Systeme,<indexterm><primary>Intrusion-Detection-Systeme</primary><secondary>umgehen</secondary></indexterm> 
deren Hersteller einfach die Nmap-Manpage durchgeblättert und spezifische 
Regeln dafür angegeben haben!</para>

<para>Das Argument für <option>--scanflags</option> kann ein numerischer 
Flag-Wert wie z.B. 9 (PSH und FIN) sein, aber symbolische Namen sind 
einfacher zu benutzen. Erstellen Sie einfach eine beliebige Kombination von 
<literal>URG</literal>, <literal>ACK</literal>, <literal>PSH</literal>,
<literal>RST</literal>, <literal>SYN</literal> und
<literal>FIN</literal>. So setzt z.B. <option>--scanflags
URGACKPSHRSTSYNFIN</option> alle Flags, auch wenn das beim Scannen nicht 
besonders hilfreich ist. Die Reihenfolge, in der Sie diese Flags angeben, 
spielt keine Rolle.</para>

<para>Zusätzlich zu den gewünschten Flags können Sie einen TCP-Scan-Typen 
(z.B. <option>-sA</option> oder <option>-sF</option>) angeben. 
Dieser Basistyp sagt Nmap, wie es die Antworten interpretieren soll. 
Ein SYN-Scan z.B. betrachtet das Fehlen einer Antwort als einen Hinweis auf 
einen <literal>gefilterten</literal> Port, während ein FIN-Scan das als einen 
Hinweis auf einen<literal>offen|gefilterten</literal> Port ansieht. Nmap 
verhält sich genauso wie beim Scan-Basistyp, nur mit dem Unterschied, 
dass es die von Ihnen angegebenen TCP-Flags benutzt. Ohne Angabe eines 
Basistyps wird ein SYN-Scan benutzt.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sI <replaceable>zombie host</replaceable><optional>:<replaceable>probeport</replaceable></optional></option> (Idle-Scan)
          <indexterm><primary><option>-sI</option></primary></indexterm>
          <indexterm><primary>Idle-Scan</primary></indexterm>
        </term>

        <listitem>

<para>Diese fortgechrittene Scan-Methode ermöglicht einen wirklich 
blinden TCP-Port-Scan des Ziels, d.h. es werden keine Pakete von Ihrer 
wahren IP-Adresse an das Ziel gesendet. Stattdessen wird mit einem 
Angriff auf einem parallelen Kanal eine vorhersagbare Erzeugung von 
Folgen von IP-Fragmentation-IDs auf dem Zombie-Host ausgebeutet, um an 
Information über offene Ports auf dem Ziel zu gelangen. IDS-Systeme 
zeigen als Urheber des Scans den Zombie-Rechner an, den Sie angeben 
(der aktiv sein und einige bestimmte Bedingungen erfüllen muss). 
<man>
Da dieser faszinierende Scan-Typ zu komplex ist, um ihn in diesem Handbuch 
vollständig zu beschreiben, habe ich einen Artikel mit vollständigen 
Details dazu geschrieben und unter 
<ulink url="https://nmap.org/book/idlescan.html" /> veröffentlicht. 
</man>
<notman>
Alle Details zu diesem faszinierenden Scan-Typ finden Sie in
<xref linkend="idlescan"/>.
</notman>
</para>

<para>Dieser Scan-Typ ist nicht nur extrem unauffällig (wegen seiner 
Blindheit), sondern erlaubt auch, IP-basierte Vetrauensbeziehungen 
zwischen Rechnern festzustellen. Die Portliste zeigt offene Ports  
<emphasis>aus der Sicht des Zombie-Hosts</emphasis> an. Also können 
Sie versuchen, ein Ziel mit verschiedenen Zombies zu scannen, von 
denen Sie denken, dass sie vertrauenswürdig 
sind<indexterm><primary>Vertrauensbeziehungen</primary></indexterm> 
(über Router-/Paketfilterregeln).
</para>

<para>Wenn Sie einen bestimmten Port auf dem Zombie auf IP-ID-Änderungen 
testen möchten, können Sie einen Doppelpunkt gefolgt von einer Portnummer 
an den Zombie-Host hinzufügen. Sonst benutzt Nmap den Port, den es 
standardmäßig bei TCP-Pings benutzt (80).</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sO</option> (IP-Protokoll-Scan)
        <indexterm><primary><option>-sO</option></primary></indexterm>
        <indexterm><primary>IP-Protokoll-Scan</primary></indexterm>
        </term>
        <listitem>
          
<para>Der IP-Protokoll-Scan ermöglicht die Bestimmung der IP-Protokolle 
(TCP, ICMP, IGMP etc.), die von Zielrechnern unterstützt werden. Rein 
technisch ist das kein Port-Scan, da er über Nummern von IP-Protokollen 
statt TCP- oder UDP-Ports vorgeht. Dennoch benutzt er die Option 
<option>-p</option> für die Auswahl der zu scannenden Protokollnummern, 
gibt seine Ergebnisse im normalen Port-Tabellenformat aus und benutzt sogar 
dieselbe grundlegende Scan-Engine wie die echten Port-Scanning-Methoden. 
Damit ist er einem Port-Scan ähnlich genug, um an dieser Stelle beschrieben 
zu werden.</para>

<para>Abgesehen davon, dass er schon als solcher nützlich ist, zeigt der 
Protokoll-Scan die Macht von Open-Source-Software.  
Auch wenn die grundlegende Idee recht simpel ist, hatte ich nicht daran 
gedacht, ihn hinzuzufügen, und bekam auch keine Anfragen nach einer solchen 
Funktionalität. Dann, im Sommer 2000, 
hatte Gerhard Rieger<indexterm><primary>Rieger, Gerhard</primary></indexterm>
die Idee, schrieb einen exzellenten Patch als Implementation und sendete 
ihn an die Mailingliste 
<citetitle>nmap-hackers</citetitle>.<indexterm><primary><citetitle>nmap-hackers</citetitle> Mailingliste</primary></indexterm>
Diesen Patch habe ich in den Nmap-Baum aufgenommen und einen Tag später 
eine neue Version veröffentlicht. Es gibt nur wenig kommerzielle Software, 
deren Benutzer so enthusiastisch sind, dass sie eigene Verbesserungen 
dafür entwerfen und beitragen!</para>

<para>Der Protokoll-Scan funktioniert auf ähnliche Weise wie der UDP-Scan. 
Statt über das Portnummernfeld eines UDP-Pakets zu iterieren, sendet er 
IP-Paketheader und iteriert über das acht Bit große IP-Protokollfeld. 
Die Header sind normalerweise leer, enthalten keine Daten und nicht einmal 
den richtigen Header für das behauptete Protokoll. Die drei Ausnahmen davon 
sind TCP, UDP und ICMP. 
Für diese werden richtige Protokoll-Header verwendet, da manche Systeme sie 
sonst nicht versenden und weil Nmap bereits über die Funktionen verfügt, 
um sie zu erzeugen. Statt Nachrichten der Art ICMP Port unreachable 
sucht der Protokoll-Scan nach 
ICMP <emphasis>Protocol</emphasis> unreachable. 
Falls Nmap zu irgendeinem Protokoll eine Antwort vom Zielhost erhält, 
markiert es das Protokoll als <literal>offen</literal>. Bei einem  
ICMP Protocol-unreachable-Fehler (Typ 3, Code 2) wird das Protokoll 
als <literal>geschlossen</literal> markiert. Bei anderen 
ICMP Unreachable-Fehlern (Typ 3, Code 1, 3, 9, 10 oder 13) wird das 
Protokoll als <literal>gefiltert</literal> markiert (auch wenn sie 
gleichzeitig beweisen, dass ICMP <literal>offen</literal> ist). 
Falls nach einigen erneuten Übertragungen keine Antwort erhalten wird, 
wird das Protokoll als <literal>offen|gefiltert</literal> markiert.</para>

        </listitem>
      </varlistentry>


      <varlistentry>
        <term>
        <option>-b <replaceable>FTP relay host</replaceable></option> (FTP-Bounce-Scan)
        <indexterm><primary><option>-b</option></primary></indexterm>
        <indexterm><primary>FTP-Bounce-Scan</primary></indexterm>
        </term>
        <listitem>

<para>Eine interessante Eigenschaft des FTP-Protokolls (<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc959.txt">RFC 959</ulink>) 
ist dessen Unterstützung sogenannter Proxy-FTP-Verbindungen. Damit kann 
sich ein Benutzer mit einem FTP-Server verbinden und dann verlangen, dass 
Dateien an einen Server einer dritten Partei gesendet werden. Solch eine 
Eigenschaft ist auf vielen Ebenen sturmreif für Missbrauch, weswegen die 
meisten Server sie nicht mehr unterstützen. Ein solcher Missbrauch, den 
diese Eigenschaft ermöglicht, ist, den FTP-Server für Port-Scans anderer 
Hosts zu benutzen. Bitten Sie den FTP-Server einfach, eine Datei nacheinander 
an alle interessanten Ports eines Zielhosts zu senden. Die Fehlermeldung 
wird beschreiben, ob der Port offen ist oder nicht. Das ist ein guter Weg, 
Firewalls zu umgehen, weil FTP-Server von Organisationen oft an Orten 
platziert sind, von denen aus sie besseren Zugriff auf weitere interne Hosts 
haben, als es jeder alte Internet-Host hätte. Nmap unterstützt den 
FTP-Bounce-Scan mit der Option <option>-b</option>. Sie erwartet ein 
Argument der Form 
<replaceable>username</replaceable>:<replaceable>password</replaceable>@<replaceable>server</replaceable>:<replaceable>port</replaceable>.
Dabei ist <replaceable>Server</replaceable> der Name oder die IP-Adresse 
eines anfälligen FTP-Servers. Wie bei einer normalen URL können Sie 
<replaceable>username</replaceable>:<replaceable>password</replaceable> 
auch weglassen, wobei dann eine anonyme Anmeldung erfolgt (username:
<literal>anonymous</literal> password:<literal>-wwwuser@</literal>). 
Die Portnummer (samt Doppelpunkt davor) können Sie ebenfalls weglassen, 
wobei dann auf <replaceable>server</replaceable> der 
Standard-FTP-Port (21) benutzt wird.</para>

<para>Als Nmap 1997 veröffentlicht wurde, war diese 
Schwachstelle weit verbreitet, wurde seitdem aber größtenteils behoben. 
Aber da es immer noch anfällige Server gibt, lohnt sich ein Versuch, 
falls alles andere versagt. Wenn Sie eine Firewall umgehen möchten, 
scannen Sie das Zielnetzwerk nach einem offenen Port 21 (oder sogar nach 
beliebigen FTP-Diensten, falls Sie alle Ports mit Versionserkennung 
scannen können), und probieren Sie dann für jeden einen Bounce-Scan aus. 
Nmap wird Ihnen sagen, ob der Host angreifbar ist oder nicht. Versuchen 
Sie lediglich, Ihre Spuren zu verwischen, dann brauchen Sie sich nicht 
(und tatsächlich sollten Sie das nicht einmal) auf Hosts im Zielnetzwerk 
zu beschränken. Bevor Sie anfangen, zufällige Internet-Adressen nach 
anfälligen FTP-Servern zu scannen, bedenken Sie, dass Sysadmins keinen 
Gefallen daran finden werden, dass Sie ihre Server auf diese Weise 
missbrauchen.</para>

        </listitem>
      </varlistentry>
    </variablelist>
   </refsect1>

   <refsect1 id='man-port-specification'>
    <title>Port-Angabe und Scan-Reihenfolge</title>
    <indexterm><primary>Port-Angabe</primary></indexterm>

<para>Zusätzlich zu all den bisher erläuterten Scan-Methoden bietet
Nmap Optionen, mit denen man angibt, welche Ports gescannt werden 
und ob die Scan-Reihenfolge randomisiert oder sequentiell ist. Nmap 
scannt standardmäßig für jedes Protokoll die 1000 meistbenutzten Ports.
<indexterm><primary>vorgegebene Ports</primary></indexterm>
</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-p <replaceable>port ranges</replaceable></option> (scannt nur angegebene Ports)
          <indexterm><primary><option>-p</option></primary></indexterm>
        </term>
        <listitem>

<para>Diese Option gibt an, welche Ports Sie scannen möchten, und 
überschreibt die Voreinstellung. Einzelne Portnummern sind okay, 
ebenso wie mit einem Bindestrich getrennte Bereiche (z.B. 
<literal>1-1023</literal>). Anfangs- und/oder Endwerte eines 
Bereichs können weggelassen werden und werden von Nmap dann mit 
jeweils 1 bzw. 65535 ersetzt. So können Sie mit <option>-p-</option> 
alle Ports von 1 bis 65535 scannen. Es ist erlaubt, den Port Null<indexterm><primary>Port Null</primary></indexterm> 
zu scannen, wenn Sie ihn explizit angeben. Bei IP-Protokoll-Scans 
(<option>-sO</option>) gibt diese Option die Protokollnummern an, 
die Sie scannen möchten (0&#x02013;255).</para>

<para>Wenn Sie sowohl TCP- als auch UDP-Ports scannen, können Sie ein 
bestimmtes Protokoll angeben, indem Sie den Portnummern ein 
<literal>T:</literal> bzw. <literal>U:</literal> voranstellen. 
Dieser Kennzeichner gilt so lange, bis Sie einen anderen angeben. 
Zum Beispiel werden bei dem Argument 
<option>-p U:53,111,137,T:21-25,80,139,8080</option> die UDP-Ports 
53, 111 und 137 sowie die angegebenen TCP-Ports gescannt. Beachten 
Sie, dass Sie 
<option>-sU</option> und mindestens einen TCP-Scan-Typ (z.B. 
<option>-sS</option>, <option>-sF</option> oder <option>-sT</option>) angeben müssen,
um sowohl UDP als auch TCP zu scannen. Falls kein Protokollkennzeichner 
angegeben ist, werden die Portnummern zu allen Protokolllisten 
hinzugefügt.</para>

<indexterm><primary>Port-Angabe</primary><secondary>Joker in</secondary></indexterm>
<indexterm><primary>Wildcards</primary><see>Port-Auswahl, Joker in</see></indexterm>
<para>
Ports können auch mit dem Namen angegeben werden, der für diesen Port 
in <filename>nmap-services</filename> definiert ist. Sie können bei diesen 
Namen sogar die Joker * und ? verwenden. Um z.B. FTP und alle Ports 
zu scannen, deren Namen mit <quote>http</quote> anfangen, benutzen Sie 
<option>-p ftp,http*</option>. Passen Sie auf eine eventuelle Erweiterung 
durch die Shell auf und setzen Sie das Argument von <option>-p</option> 
in Anführungszeichen, wenn Sie unsicher sind.</para>

<para>Port-Bereiche können in eckigen Klammern angegeben werden, um Ports 
innerhalb dieses Bereiches anzugeben, die in 
<filename>nmap-services</filename> vorkommen. 
Zum Beispiel scannt Folgendes alle Ports in <filename>nmap-services</filename> 
kleiner oder gleich 1024: <option>-p [-1024]</option>. 
Passen Sie auf eine eventuelle Erweiterung 
durch die Shell auf und setzen Sie das Argument von <option>-p</option> 
in Anführungszeichen, wenn Sie unsicher sind.</para> 

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-F</option> (schneller (beschränkter Port-) Scan)
          <indexterm significance="preferred"><primary><option>-F</option></primary></indexterm>
          <indexterm><primary>schneller Scan</primary><see><option>-F</option></see></indexterm>
        </term>
        <listitem>
<para>Gibt an, dass Sie weniger Ports scannen möchten, als standardmäßig 
vorgesehen. Normalerweise scannt Nmap die 1000 am häufigsten vorkommenden 
Ports bei jedem gescannten Protokoll. Mit <option>-F</option> werden diese 
auf 100 beschränkt.</para>

<para>Nmap benötigt die Datei <filename>nmap-services</filename> mit 
Informationen zur Häufigkeit, um zu wissen, welche Ports am häufigsten 
benutzt werden<notman> (see <xref linkend="nmap-services"/>
for more about port frequencies)</notman>. Wenn keine Angaben über 
die Port-Häufigkeit verfügbar sind, vielleicht weil eine benutzerdefinierte 
<filename>nmap-services</filename>-Datei verwendet wird, 
dann bedeutet <option>-F</option>, dass nur Ports gescannt werden, 
die in der Dienstedatei mit Namen vorkommen (normalerweise scannt Nmap 
alle benannten Ports plus die Ports 1&#x02013;1024).</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-r</option> (Ports nicht randomisieren)
          <indexterm><primary><option>-r</option></primary></indexterm>
          <indexterm><primary>Randomisierung von Ports</primary></indexterm>
        </term>
        <listitem>
<para>Standardmäßig randomisiert Nmap die Reihenfolge der gescannten Ports 
(bis auf einige allgemein zugängliche Ports, die aus Effizienzgründen  
vorgezogen werden). Diese Randomisierung ist normalerweise erwünscht, 
aber Sie können stattdessen auch <option>-r</option> für einen sequentiellen 
Port-Scan angeben.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--port-ratio &lt;decimal number between 0 and 1&gt;</option>
        </term>
        <listitem>
        <indexterm><primary>--port-ratio</primary></indexterm>
        <para>Scannt alle Ports in der Datei 
<filename>nmap-services</filename> mit einem größeren Bruchteil als 
die Zahl, die als Argument angegeben wird.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--top-ports &lt;integer of 1 or greater&gt;</option>
        </term>
        <listitem>
        <indexterm><primary>--top-ports</primary></indexterm>
        <para>Scannt die N Ports mit dem höchsten Bruchteil 
in der Datei <filename>nmap-services</filename>.</para>
        </listitem>
      </varlistentry>

    </variablelist>

</refsect1>


  <refsect1 id='man-version-detection'>
    <title>Dienst- und Versionserkennung</title> 
    <indexterm class="startofrange" id="man-version-detection-indexterm"><primary>Versionserkennung</primary></indexterm>

<para>Lassen Sie Nmap auf einen entfernten Rechner los, und Sie 
erfahren z.B. dass die Ports <literal>25/tcp</literal>, 
<literal>80/tcp</literal> und <literal>53/udp</literal> offen sind. 
Dank der über 2200 bekannten Dienste in seiner Datenbank in 
<filename>nmap-services</filename><indexterm><primary><filename>nmap-services</filename></primary></indexterm> würde Nmap noch ausgeben, dass diese Ports 
wahrscheinlich jeweils zu einem Mailserver (SMTP), Webserver (HTTP) und 
Nameserver (DNS) gehören. Normalerweise sind diese Angaben genau &#x02014; 
die überwiegende Mehrheit an Daemons, die den TCP-Port 25 abhören, sind 
tatsächlich Mailserver. Allerdings sollten Sie nicht Ihre Sicherheit darauf 
verwetten! Manche Leute können nicht nur Dienste auf seltsamen Ports 
betreiben, sondern tun es 
auch.<indexterm><primary>Nicht-Standard-Ports</primary></indexterm>
</para>

<para>Selbst wenn Nmap recht hat und auf dem Server im obigen Beispiel  
SMTP-, HTTP- und DNS-Server laufen, ist das nicht besonders viel an Information. 
Bei der Beurteilung der Angreifbarkeit (oder auch nur beim Erstellen 
einfacher Netzwerkinventare) Ihrer Firmen oder Kunden möchten Sie auch 
wissen, welche Mail- und DNS-Server und welche Versionen davon laufen. Eine genaue 
Versionsnummer hilft enorm bei der Bestimmung der Exploits, für die ein 
Server anfällig ist. 
Die Versionserkennung hilft Ihnen, an diese Information heranzukommen. 
</para>

<para>Nachdem TCP- und/oder UDP-Ports mit einer der anderen Scan-Methoden 
entdeckt wurden, fragt die Versionserkennung diese Ports ab, um mehr 
darüber zu erfahren, was tatsächlich darauf läuft. Die Datenbank in 
<filename>nmap-service-probes</filename><indexterm><primary><filename>nmap-service-probes</filename></primary></indexterm> 
enthält Testpakete für die Abfrage verschiedenster Dienste und Ausdrücke 
für den Vergleich und das Parsen der Antworten. Nmap versucht, das 
Dienstprotokoll zu bestimmen (z.B. FTP, SSH, Telnet, HTTP), aber auch 
Anwendungsnamen (z.B. ISC BIND, Apache httpd, Solaris telnetd), 
Versionsnummer, Hostnamen, Gerätetyp (z.B. Drucker, Router), die 
Betriebssystemfamilie (z.B. Windows, Linux) und manchmal verschiedene 
Details: etwa ob ein X-Server Verbindungen annimmt, die SSH-Protokollversion 
oder der KaZaA-Benutzername. Natürlich bieten die meisten Dienste 
nicht all diese Information. Falls Nmap mit OpenSSL-Unterstützung 
kompiliert wurde, verbindet es sich mit SSL-Servern, um den hinter dieser 
Verschlüsselungsebene<indexterm><primary>SSL</primary><secondary>in Versionserkennung</secondary></indexterm> 
lauschenden Dienst zu ermitteln.
Wenn RPC-Dienste erkannt werden, wird automatisch Nmaps 
RPC-Holzhammer<indexterm><primary>RPC-Holzhammer</primary></indexterm>
(<option>-sR</option>)<indexterm><primary><option>-sR</option></primary></indexterm> 
benutzt, um die RPC-Programm- und Versionsnummern zu bestimmen. Manche 
UDP-Ports bleiben im Zustand <literal>offen|gefiltert</literal>, nachdem 
ein UDP-Port-Scan nicht bestimmen konnte, ob der Port offen oder gefiltert 
ist. Die Versionserkennung versucht, diesen Ports eine Antwort zu entlocken 
(genauso wie bei offenen Ports) und den Zustand auf offen zu ändern, 
wenn das gelingt. <literal>Offene|gefilterte</literal> TCP-Ports werden 
genauso behandelt. Beachten Sie, dass die Nmap-Option <option>-A</option> 
unter anderem auch die Versionserkennung einschaltet.
<man>
A paper documenting the workings, usage, and customization of version
detection is available at
<ulink url="https://nmap.org/book/vscan.html" />.
</man>
<notman>
Die Versionserkennung wird detailliert in <xref linkend="vscan"/> behandelt. 
</notman>
</para>

<para>Wenn Nmap Antworten von einem Dienst erhält, aber keine Übereinstimmungen 
dafür in seiner Datenbank finden kann, gibt es einen speziellen Fingerprint 
und eine URL aus, damit Sie diese Antwort einsenden können, falls Sie genau 
wissen, was auf diesem Port läuft. Bitte nehmen Sie sich ein paar Minuten 
Zeit, um sie einzusenden, damit Ihr Fund für alle ein Gewinn sein kann. 
Dank dieser Beiträge hat Nmap über 3000 Musterübereinstimmungen für 
über 350 Protokolle wie SMTP, FTP, HTTP usw.<indexterm><primary>Einsenden von Dienst-Fingerprints</primary></indexterm>
</para>

<para>Die Versionserkennung wird mit den folgenden Optionen aktiviert und 
gesteuert:</para>

    <variablelist>

      <varlistentry>
        <term>
        <option>-sV</option> (Versionserkennung)
          <indexterm><primary><option>-sV</option></primary></indexterm></term>
        <listitem>

<para>Aktiviert die Versionserkennung wie oben beschrieben. 
Alternativ dazu können Sie <option>-A</option> benutzen, was unter 
anderem auch die Versionserkennung aktiviert.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--allports</option> (keine Ports von der Versionserkennung ausschließen)
          <indexterm><primary><option>--allports</option></primary></indexterm>
        </term>
        <listitem>

<para>Standardmäßig schließt Nmaps Versionserkennung den TCP-Port 9100 
aus, weil manche Drucker einfach alles ausdrucken, was an diesen Port 
gesendet wird, was zu Dutzenden von Seiten mit HTTP-GET-Requests, 
binären SSL-Session-Requests usw. führen würde. Dieses Verhalten kann 
man ändern, indem man die <literal>Exclude</literal>-Anweisung in 
<filename>nmap-service-probes</filename> verändert oder entfernt, oder 
Sie geben <option>--allports</option> an, um alle Port zu scannen, 
unabhängig von einer <literal>Exclude</literal>-Anweisung.
<indexterm><primary><literal>Exclude</literal> Anweisung (<filename>nmap-service-probes</filename>)</primary></indexterm>
</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-intensity <replaceable>intensity</replaceable></option> (Intensität des Versions-Scans setzen)
          <indexterm><primary><option>--version-intensity</option></primary></indexterm>
        </term>
        <listitem>

<para>Bei einem Versions-Scan (<option>-sV</option>) sendet Nmap eine 
Reihe von Testpaketen, die alle über einen zugeordneten Seltenheitswert 
zwischen eins und neun verfügen. Die Testpakete mit kleineren Werten 
sind bei einer großen Zahl verbreiteter Dienste wirkungsvoll, während 
die mit höheren Werten seltener nützlich sind. Die Intensitätsstufe gibt 
an, welche Testpakete angewendet werden sollten. Je höher die Zahl, desto 
wahrscheinlicher wird der Dienst richtig identifiziert. Allerdings 
brauchen Scans mit hoher Intensität mehr Zeit. Diese Intensität muss 
zwischen 0 und 9 liegen. 
<indexterm><primary>Versionserkennung</primary><secondary>Intensität</secondary></indexterm>
Die Standardeinstellung ist 7. 
<indexterm><primary>Versionserkennung</primary><secondary>Standardintensität</secondary></indexterm>
Wenn ein Testpaket mit der <literal>ports</literal>-Anweisung in 
<filename>nmap-service-probes</filename> für den Zielport registriert 
ist, wird dieses Testpaket ausprobiert, unabhängig von der Intensitätsstufe. 
Das garantiert, dass die DNS-Testpakete bei jedem offenen Port 53 immer 
benutzt werden, das SSL-Testpaket bei Port 443 usw.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-light</option> (leichten Modus setzen)
          <indexterm><primary><option>--version-light</option></primary></indexterm>
        </term>
        <listitem>

<para>Das ist ein Alias für <option>--version-intensity 2</option> aus 
Bequemlichkeitsgründen. Dieser leichte Modus macht die Versionserkennung 
wesentlich schneller, identifiziert die Dienste aber mit geringerer 
Wahrscheinlichkeit.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-all</option> (benutze alle Testpakete)
          <indexterm><primary><option>--version-all</option></primary></indexterm>
        </term>
        <listitem>

<para>Das ist ein Alias für <option>--version-intensity 9</option>, der 
garantiert, dass jedes einzelne Testpaket bei jedem Port ausprobiert 
wird.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--version-trace</option> (verfolge Aktivität des Versions-Scans)
          <indexterm significance="preferred"><primary><option>--version-trace</option></primary></indexterm>
        </term>
        <listitem>
<para>Das bewirkt, dass Nmap umfangreiche Debugging-Information darüber 
ausgibt, was die Versionserkennung gerade macht. Das ist eine Untermenge 
dessen, was Sie mit <option>--packet-trace</option> erhalten.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-sR</option> (RPC-Scan)
          <indexterm significance="preferred"><primary><option>-sR</option></primary></indexterm>
          <indexterm><primary>RPC scan</primary><see>RPC-Holzhammer</see></indexterm>
          <indexterm><primary>RPC-Holzhammer</primary></indexterm>
          </term>

        <listitem>
<para>Diese Methode funktioniert zusammen mit den verschiedenen 
Port-Scan-Methoden von Nmap. Sie nimmt alle offenen TCP-/UDP-Ports 
und überflutet sie mit NULL-Befehlen für das SunRPC-Programm, in dem 
Versuch, festzustellen, ob es RPC-Ports sind, und wenn ja, welches 
Programm und welche Versionsnummer darauf läuft. Dadurch können Sie 
quasi dieselbe Information herausfinden wie mit 
<command>rpcinfo -p</command>, selbst wenn der Portmapper des Ziels 
hinter einer Firewall liegt (oder von TCP-Wrappern geschützt wird). 
Köder funktionieren im Moment nicht mit dem 
RPC-Scan.<indexterm><primary>Köder</primary><secondary>von Scans benutzte</secondary></indexterm> 
Das wird automatisch als Teil einer Versionserkennung aktiviert 
(<option>-sV</option>), wenn Sie diese verlangen. Da die 
Versionserkennung das enthält und wesentlich umfangreicher ist, 
wird <option>-sR</option> selten benötigt.</para>
        </listitem>
      </varlistentry>
  
    </variablelist>
    <indexterm class="endofrange" startref="man-version-detection-indexterm"/>
  </refsect1>


  <refsect1 id='man-os-detection'>

    <title>Betriebssystem-Erkennung</title>
    <indexterm class="startofrange" id="man-os-detection-indexterm"><primary>Betriebssystemerkennung</primary></indexterm>

<para>Eines der bekanntesten Merkmale von Nmap ist dessen Erkennung 
entfernter Betriebssysteme mit TCP/IP-Stack-Fingerprinting. Nmap 
sendet eine Reihe von TCP- und UDP-Paketen an den entfernten Host 
und untersucht praktisch jedes Bit in der Antwort. Nach der Durchführung 
Dutzender von Tests, wie z.B. einer TCP-ISN-Abtastung, Unterstützung und 
Reihenfolge von TCP-Optionen, IP-ID-Abtastung und Prüfung der initialen 
Fenstergröße, vergleicht Nmap die Ergebnisse mit seiner Datenbank in 
<filename>nmap-os-db</filename><indexterm><primary><filename>nmap-os-db</filename></primary></indexterm>
von über eintausend bekannten Betriebssystem-Fingerprints und gibt 
die Details zum Betriebssystem aus, wenn es eine Übereinstimmung gefunden 
hat.
Jeder Fingerprint enthält eine formlose Beschreibung des Betriebssystems 
und eine Klassifikation, aus der der Herstellername (z.B. Sun), das 
eigentliche Betriebssystem (z.B. Solaris), dessen Generation (z.B. 10) 
und der Gerätetyp (allgemein, Router, Switch, Spielkonsole
usw.) hervorgeht.</para>

<para>Falls Nmap das Betriebssystem eines Rechner nicht erraten kann 
und die Umstände günstig sind (z.B. wenn mindestens ein offener und ein 
geschlossener Port gefunden wurde), präsentiert Nmap eine URL, unter 
der Sie den Fingerprint einsenden können, wenn Sie (ganz sicher) wissen, 
welches Betriebssystem auf dem Rechner läuft. Dadurch erweitern Sie den 
Pool der Betriebssysteme, die Nmap kennt, wodurch es für alle Benutzer 
genauer wird.</para>

<para>Die Betriebssystem-Erkennung verwendet einige weitere Tests, 
die Informationen benutzen, die während des Vorgangs ohnehin gesammelt 
werden. Eine davon ist die Klassifikation der Vorhersagbarkeit der 
TCP-Sequenznummern. Sie gibt ungefähr an, wie schwer es ist, eine 
gefälschte TCP-Verbindung zum entfernten Host aufzubauen. Sie ist 
hilfreich zur Ausbeutung von Vertrauensbeziehungen auf Basis von 
Quell-IPs (rlogin, Firewall-Filter usw.) oder zum Verbergen des 
Ursprungs eines Angriffs. Diese Art von Täuschung wird kaum noch 
praktiziert, aber viele Rechner sind nach wie vor anfällig dafür. 
Die eigentliche Maßzahl basiert auf statistischen Abtastungen und 
kann schwanken. Im Allgemeinen ist es besser, die englische Bezeichnung 
wie z.B. <quote>worthy challenge</quote> oder 
<quote>trivial joke</quote> zu benutzen. Das wird nur in der normalen 
Ausgabe im ausführlichen Modus (<option>-v</option>) ausgegeben. Wenn 
dieser Modus zusammen mit <option>-O</option> aktiviert ist, wird auch 
die IP-ID-Sequenzerzeugung berichtet. Die meisten Rechner finden sich 
in der Klasse <quote>incremental</quote>, d.h. sie inkrementieren das 
ID-Feld im IP-Header für jedes von ihnen gesendete Paket. Dadurch 
werden sie anfällig für diverse avancierte Angriffe mittels 
Täuschung und Sammlung von Informationen.</para>

<indexterm><primary>Betriebszeit-Schätzung</primary></indexterm>
<para>
Eine weitere zusätzliche Information, die die Betriebssystem-Erkennung 
aktiviert, ist eine Schätzung der Betriebszeit des Zielhosts. Dabei 
wird die TCP-Timestamp-Option 
(<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc1323.txt">RFC 1323</ulink>) 
benutzt, um zu raten, wann ein Rechner das letzte Mal neu gestartet wurde. 
Wenn der Timestamp-Zähler nicht bei null gestartet wurde oder der Zähler 
überläuft und wieder von vorn zählt, kann diese Schätzung ungenau werden, 
weshalb sie nur im ausführlichen Modus ausgegeben wird.
</para>

<para>
<man>
A paper documenting the workings, usage, and customization of OS
detection is available at
<ulink url="https://nmap.org/book/osdetect.html" />.
</man>

<notman>
Die Betriebssystem-Erkennung wird in <xref linkend="osdetect"/> behandelt.
</notman>
</para>

<para>Eingeschaltet und gesteuert wird die Betriebssystem-Erkennung 
mit den folgenden Optionen:</para>

<variablelist>

<varlistentry>
<term>
<option>-O</option> (Betriebssystem-Erkennung aktivieren)
<indexterm significance="preferred"><primary><option>-O</option></primary></indexterm>
</term>
<listitem>
<para>Aktiviert die Betriebssystem-Erkennung wie oben beschrieben. 
Alternativ dazu können Sie <option>-A</option> benutzen, um eine 
Betriebssystem-Erkennung zusammen mit anderen Dingen einzuschalten.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--osscan-limit</option> (Betriebssystem-Erkennung auf vielversprechende Ziele beschränken)
<indexterm significance="preferred"><primary><option>--osscan-limit</option></primary></indexterm>
</term>
<listitem>
<para>Die Betriebssystem-Erkennung ist wesentlich effektiver, wenn 
mindestens ein offener und ein geschlossener TCP-Port gefunden werden. 
Wenn Sie diese Option angeben, versucht Nmap eine Betriebssystem-Erkennung 
gar nicht erst bei Hosts, die dieses Kriterium nicht erfüllen. Das kann 
viel Zeit sparen, besonders bei Scans mit <option>-PN</option> auf 
vielen Hosts. Diese Option gilt nur, wenn eine Betriebssystem-Erkennung 
mit <option>-O</option> oder <option>-A</option> verlangt wird.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--osscan-guess</option>; <option>--fuzzy</option> (Ergebnisse der Betriebssystem-Erkennung raten)
<indexterm significance="preferred"><primary><option>--osscan-guess</option></primary></indexterm>
<indexterm><primary><option>--fuzzy</option></primary><see><option>--osscan-guess</option></see></indexterm>
</term>
<listitem>
<para>Falls Nmap keine perfekte Übereinstimmung mit einem Betriebssystem 
finden kann, präsentiert es manchmal mögliche Kandidaten, die dem sehr 
nahe kommen. Damit Nmap das standardmäßig macht, muss die Übereinstimmung 
sehr hoch sein. Diese beiden (äquivalenten) Optionen lassen Nmap aggressiver 
schätzen. Dann gibt Nmap auch unvollkommene Übereinstimmungen aus, 
zusammen mit einem Vertrauensgrad (in Prozent).</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--max-os-tries</option> (setzt die maximale Anzahl der Versuche für eine Betriebssystem-Erkennung bei einem Ziel)
<indexterm significance="preferred"><primary><option>--max-os-tries</option></primary></indexterm>
</term>
<listitem>
<para>Wenn Nmap eine Betriebssystem-Erkennung auf einem Ziel durchführt 
und dafür keine perfekte Übereinstimmung findet, macht es normalerweise 
einen weiteren Versuch. Standardmäßig macht Nmap fünf Versuche, wenn 
die Bedingungen zum Einsenden eines Betriebssystem-Fingerprints günstig 
sind, und zwei, wenn sie es nicht sind. Die Angabe eines kleineren Wertes 
für <option>--max-os-tries</option> (z.B. 1) beschleunigt Nmap, auch wenn 
Sie Versuche auslassen, bei denen das Betriebssystem möglicherweise 
erkannt werden könnte. Alternativ dazu kann ein hoher Wert gesetzt werden, 
um bei günstigen Bedinungen noch mehr Versuche zu erlauben. Das macht man 
aber selten, außer um bessere Fingerprints zu erzeugen, die man einsenden 
kann, um sie in Nmaps Betriebssystem-Datenbank zu integrieren.</para>
</listitem>
</varlistentry>

    </variablelist>
    <indexterm class="endofrange" startref="man-os-detection-indexterm"/>
  </refsect1>


	<refsect1 id='man-nse'> 
	<title>Nmap Scripting Engine (NSE)</title>
        <indexterm class="startofrange" id="man-nse-indexterm"><primary>Nmap Scripting Engine (NSE)</primary></indexterm>

<para>Die Nmap Scripting Engine (NSE) ist eines der mächtigsten und 
flexibelsten Merkmale von Nmap. Mit ihr können Benutzer einfache Scripts 
schreiben und weitergeben (geschrieben in der 
<ulink url="http://lua.org">Programmiersprache Lua</ulink> 
<indexterm><primary>Programmiersprache Lua</primary></indexterm>), 
um eine breite Palette von Netzwerkaufgaben 
zu automatisieren. Diese Scripts werden dann parallel mit der Geschwindigkeit 
und Effizienz abgearbeitet, die Sie von Nmap erwarten. Als Benutzer können 
Sie auf eine wachsende und vielfältige Menge von Scripts vertrauen, die mit 
Nmap veröffentlicht werden, oder eigene Scripts für eigene Bedürfnisse 
schreiben.</para>

<para>Zu den Aufgaben, die wir bei der Konzeption dieses Systems 
anvisierten, gehören die Netzwerkerkennung, eine ausgefeiltere 
Versionserkennung sowie eine Verwundbarkeitserkennung. NSE kann aber 
sogar bei der Ausbeutung von Schwachstellen benutzt werden.
</para>

<para> 
Um diese verschiedenen Anwendungen widerzuspiegeln und um die Auswahl 
des richtigen Scripts zu vereinfachen, verfügen alle Scripts über ein 
Kategorie-Feld. 
Im Moment sind folgende Kategorien definiert: 
<literal>safe</literal>, <literal>intrusive</literal>, 
<literal>malware</literal>, <literal>version</literal>, 
<literal>discovery</literal>, <literal>vuln</literal>, 
<literal>auth</literal> und <literal>default</literal>. 
Sie alle werden 
<man>at <ulink url="https://nmap.org/book/nse-usage.html#nse-categories" />.</man>
<notman>in <xref linkend="nse-categories"/> beschrieben.</notman>
</para>
    
<para>
Die Nmap Scripting Engine wird detailliert 
<man>at <ulink url="https://nmap.org/book/nse.html" /></man>
<notman>in <xref linkend="nse"/></notman> beschrieben und wird mit den 
folgenden Optionen gesteuert:
</para>

<variablelist>

<varlistentry>
<term><option>-sC</option>
<indexterm significance="preferred">
<primary><option>-sC</option></primary>
</indexterm>
</term>
<listitem>
<para>Führt einen Script-Scan mit dem Standardsatz an Scripts durch. 
Das ist äquivalent zu <option>--script=default</option>. Manche der 
Scripts in dieser Kategorie werden als 
aufdringlich betrachtet und sollten nicht ohne Genehmigung auf einem 
Zielnetzwerk ausgeführt werden.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>--script <replaceable>script-categories</replaceable>|<replaceable>directory</replaceable>|<replaceable>filename</replaceable>|all</option><indexterm significance="preferred"><primary><option>--script</option></primary></indexterm></term>

<listitem>
<para>Führt einen Script-Scan (wie z.B. <option>-sC</option>) durch 
und benutzt dabei die mit Kommata getrennte Liste von Script-Kategorien, 
individuellen Scripts oder Script-Verzeichnissen statt des Standardsatzes. 
Zuerst versucht Nmap, die Argumente als Kategorien zu interpretieren, 
dann (wenn das nicht gelingt) als Datei- oder Verzeichnisnamen. Ein Script 
oder Verzeichnis von Scripts kann als absoluter oder relativer Pfad angegeben 
werden. Absolute Pfade werden unverändert benutzt. Relative Pfade werden an 
den folgenden Orten gesucht, bis sie gefunden 
werden:<indexterm><primary>Datendateien</primary><secondary>Verzeichnis-Suchreihenfolge</secondary></indexterm><indexterm><primary>Scripts, Orte</primary></indexterm>
<filename>--datadir/</filename>; 
<filename>$NMAPDIR/</filename>;<indexterm><primary><envar>NMAPDIR</envar> Umgebungsvariable</primary></indexterm>
<filename>~/.nmap/</filename> (wird unter Windows nicht durchsucht);<indexterm><primary sortas="nmap Verzeichnis"><filename>.nmap</filename> Verzeichnis</primary></indexterm>
<literal>NMAPDATADIR</literal>/ oder<indexterm><primary>NMAPDATADIR</primary></indexterm>
<filename>./</filename>. 
In all diesen Verzeichnissen wird außerdem auch ein 
<filename>scripts/</filename>-Unterverzeichnis ausprobiert.
</para>

<para>Falls ein Verzeichnis angegeben und gefunden wird, lädt Nmap alle 
NSE-Scripts (alle Dateinamen, die mit <literal>.nse</literal> enden) 
aus diesem Verzeichnis. Dateinamen ohne die Endung <literal>nse</literal> 
werden ignoriert. Nmap sucht keine Unterverzeichnisse rekursiv durch, 
um Scripts zu finden. Wenn individuelle Dateinamen angegeben werden, 
dann muss deren Dateierweiterung nicht <literal>nse</literal> lauten.
</para>

<para>Nmap-Scripts werden standardmäßig in einem 
<filename>scripts</filename>-Unterverzeichnis des Nmap-Datenverzeichnisses 
gespeichert
<man>(see <ulink url="https://nmap.org/book/data-files.html"/>).</man>
<notman>(siehe <xref linkend="data-files"/>).</notman> Aus Effizienzgründen 
werden Scripts in einer Datenbank indiziert, die in <filename>scripts/script.db</filename>.<indexterm><primary><filename>script.db</filename></primary></indexterm> 
gespeichert ist und für jedes Script auflistet, in welche Kategorie 
bzw. Kategorien es gehört. Um alle Scripts in der Nmap-Script-Datenbank 
auszuführen, geben Sie das Argument <literal>all</literal> an.
</para>

<para>Die Scripts werden nicht in einer Sandbox ausgeführt und können 
Ihr System somit versehentlich oder böswillig beschädigen oder in Ihre 
Privatsphäre eindringen. Sie sollten Scripts von Dritten nur dann ausführen, 
wenn Sie deren Autoren vertrauen oder sie selbst eingehend studiert 
haben.</para>

</listitem>
</varlistentry>
      
	  <varlistentry>
        <term><option>--script-args <replaceable>name1</replaceable>=<replaceable>value1</replaceable>,<replaceable>name2</replaceable>={<replaceable>name3</replaceable>=<replaceable>value3</replaceable>},<replaceable>name4</replaceable>=<replaceable>value4</replaceable></option>
        <indexterm significance="preferred"><primary><option>--script-args</option></primary></indexterm>
        <indexterm><primary>Script-Argumente</primary><seealso><option>--script-args</option></seealso></indexterm></term>

<listitem>
<para>Hiermit können Sie Argumente für NSE-Scripts angeben. Argumente 
werden als <literal>name=value</literal>-Paare angegeben. Die Argumente 
werden verarbeitet und in einer Lua-Tabelle gespeichert, auf die alle 
Scripts Zugriff haben. Die Namen werden als Strings (die alphanumerische 
Werte sein müssen) in <literal>argument-table</literal> als Schlüssel 
gespeichert. Die Werte sind ihrerseits entweder Strings oder Tabellen 
(innerhalb von &#x02018;<literal>{</literal>&#x02019; und
&#x02018;<literal>}</literal>&#x02019;). 
Sie könnten z.B. diese mit Kommmata getrennten Argumente angeben: 
<literal>user=bar,pass=foo,whois={whodb=nofollow+ripe}</literal>.
String-Argumente werden potenziell von mehreren Scripts benutzt, 
während Untertabellen normalerweise nur von einem Script benutzt werden. 
In Scripts, die eine Untertabelle annehmen, wird diese Untertabelle 
normalerweise nach dem Script benannt (in diesem Fall z.B. 
<literal>whois</literal>).
</para>
</listitem>

</varlistentry>


<varlistentry>
<term><option>--script-trace</option>
<indexterm significance="preferred"><primary><option>--script-trace</option></primary></indexterm></term>

<listitem>
<para>
Diese Option macht das, was <option>--packet-trace</option> macht, 
aber eine ISO-Ebene höher. Wenn diese Option 
angegeben wird, wird die gesamte ein- und ausgehende Kommunikation 
von Scripts ausgegeben. Die angezeigte Information enthält das 
Kommunikationsprotokoll, Quell- und Zieladressen sowie die übertragenen 
Daten. Falls mehr als fünf Prozent der übertragenen Daten nicht druckbar sind, 
werden sie stattdessen als Hexadezimal-Auszug ausgegeben.
Auch die Angabe von <option>--packet-trace</option> schaltet diese 
Mitverfolgung von Scripts ein.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>--script-updatedb</option>
<indexterm significance="preferred"><primary><option>--script-updatedb</option></primary></indexterm></term>
<listitem>
<para>Diese Option aktualisiert die Script-Datenbank in 
<filename>scripts/script.db</filename>, die von Nmap benutzt wird, 
um die verfügbaren Standard-Scripts und Kategorien zu bestimmen. 
Man muss die Datenbank nur dann aktualisieren, wenn man NSE-Scripts 
in das Standardverzeichnis <filename>scripts</filename> hinzufügt oder 
von dort entfernt, oder wenn man die Kategorie eines Scripts ändert. 
Diese Option wird ohne Argumente benutzt: 
<command>nmap --script-updatedb</command>.
</para>
</listitem>
</varlistentry>
</variablelist>

    <indexterm class="endofrange" startref="man-nse-indexterm"/>
  </refsect1>

<refsect1 id='man-performance'>
<title>Timing und Performance</title>
<indexterm class="startofrange" id="man-performance-timing-indexterm"><primary>Timing</primary></indexterm>
<indexterm class="startofrange" id="man-performance-indexterm"><primary>Performance</primary></indexterm>

<para>Bei der Entwicklung von Nmap hatte dessen Performance immer eine der 
höchsten Prioritäten. Ein Standardscan (<command>nmap 
<replaceable>hostname</replaceable></command>) eines Hosts in meinem lokalen 
Netzwerk dauert eine Fünftelsekunde. In dieser Zeit kann man kaum blinzeln, 
aber wenn man Hunderte oder Tausende von Rechnern scannt, dann kommt einiges 
zusammen. Außerdem können bestimmte Scan-Optionen wie UDP-Scanning und eine 
Versionserkennung die Scan-Zeiten erheblich erhöhen. Das Gleiche gilt für 
bestimmte Firewall-Konfigurationen und besonders für die Beschränkung der 
Antwortrate. Auch wenn Nmap parallel arbeitet und viele ausgefeilte 
Algorithmen benutzt, um diese Scans zu beschleunigen, hat doch der Benutzer 
die letzte Kontrolle darüber, was Nmap genau macht. Experten erstellen ihre 
Nmap-Befehle sehr sorgfältig, um in einer beschränkten Zeit genau die 
gewünschte Information zu bekommen.</para>

<para>Um die Scan-Zeiten zu verbessern, kann man z.B. nicht-kritische Tests 
weglassen und auf die neueste Version von Nmap aktualisieren 
(Performance-Verbesserungen werden häufig gemacht). Auch die Optimierung 
von Timing-Parametern kann einen großen Unterschied ausmachen. 
Diese Optionen werden im Folgenden beschrieben.</para>

<para>Manche Optionen erwarten einen <literal>time</literal>-Parameter. 
Dieser wird standardmäßig in Millisekunden angegeben, aber Sie können 
&#x02018;s&#x02019;, &#x02018;m&#x02019; oder &#x02018;h&#x02019; an den Wert 
anhängen, um Sekunden, Minuten oder Stunden anzugeben. Das heißt, bei 
<option>--host-timeout</option> haben die Argumente 
<literal>900000</literal>, <literal>900s</literal> und 
<literal>15m</literal> alle denselben Effekt.</para>

<variablelist>

<varlistentry>
<term>
<option>--min-hostgroup <replaceable>numhosts</replaceable></option>; 
<option>--max-hostgroup
<replaceable>numhosts</replaceable></option> (Größe der parallel gescannten Gruppen anpassen)
<indexterm><primary><option>--min-hostgroup</option></primary></indexterm>
<indexterm><primary><option>--max-hostgroup</option></primary></indexterm>
</term>
<listitem>

<para>Nmap hat die Fähigkeit, Port-Scans oder Versions-Scans von mehreren 
Hosts parallel durchzuführen. Das macht Nmap, indem es den Ziel-IP-Adressraum 
in Gruppen aufteilt und dann jeweils eine Gruppe scannt. Im Allgemeinen 
sind größere Gruppen effizienter. Der Nachteil daran ist, dass die 
Host-Ergebnisse erst dann ausgegeben werden können, wenn die gesamte 
Gruppe fertig ist. Wenn Nmap mit einer Gruppengröße von 50 anfängt, würde 
der Benutzer erst dann Ergebnisse sehen (bis auf die Aktualisierungen 
im ausführlichen Modus), wenn die ersten 50 Hosts abgearbeitet sind.</para>

<para>Diesen Konflikt löst Nmap standardmäßig mit einem Kompromissansatz. 
Es fängt mit einer kleinen Gruppengröße von etwa fünf an, damit die ersten 
Ergebnisse schnell kommen, und erhöht dann die Gruppengröße bis auf 
etwa 1024. Die genau vorgegebenen Zahlen hängen von den benutzten Optionen 
ab. Aus Effizienzgründen benutzt Nmap größere Gruppen bei UDP-Scans oder 
bei TCP-Scans über wenige Ports.</para>

<para>Falls mit <option>--max-hostgroup</option> eine maximale Gruppengröße 
angegeben wird, wird Nmap diese nie überschreiten. Und wenn Sie mit 
<option>--min-hostgroup</option> eine minimale Größe angeben, versucht 
Nmap, die Gruppengröße oberhalb dieses Wertes zu belassen. Falls es auf 
einer gegebenen Schnittstelle nicht genug Zielhosts gibt, um dieses 
Minimum zu erfüllen, muss Nmap einen kleineren Wert benutzen. Es können 
auch beide gesetzt werden, um die Gruppengröße in einem bestimmten 
Bereich zu belassen, aber das ist selten gewünscht.</para>

<para>Diese Optionen haben während der Host-Entdeckungsphase eines Scans 
keinen Effekt. Dazu gehören einfache Ping-Scans (<option>-sP</option>). 
Die Host-Entdeckung funktioniert immer in großen Gruppen von Hosts, 
um die Geschwindigkeit und Genauigkeit zu verbessern.</para>

<para>Der Hauptnutzen dieser Optionen liegt darin, eine hohe minimale 
Gruppengröße anzugeben, damit der gesamte Scan schneller läuft. Häufig 
wird 256 gewählt, um ein Netzwerk in Brocken der Größe von Klasse C zu 
scannen. Bei einem Scan mit vielen Ports bringt eine größere Zahl 
vermutlich keine Vorteile. Bei Scans über nur wenige Ports können 
Gruppengrößen von 2048 oder mehr hilfreich sein.</para>

</listitem>
</varlistentry>

<varlistentry>
<term>
<option>--min-parallelism <replaceable>numprobes</replaceable></option>;
<option>--max-parallelism
<replaceable>numprobes</replaceable></option> (Parallelität von Testpaketen anpassen)
<indexterm><primary><option>--min-parallelism</option></primary></indexterm>
<indexterm><primary><option>--max-parallelism</option></primary></indexterm>
</term>
<listitem>

<para>Diese Optionen steuern die Gesamtanzahl an Testpaketen, die für 
eine Host-Gruppe anstehen dürfen. Sie werden beim Port-Scanning und 
bei der Host-Entdeckung benutzt. Abhängig von der Netzwerk-Performance 
berechnet Nmap standardmäßig eine immer wechselnde ideale Parallelität. 
Falls Pakete verworfen werden, verlangsamt sich Nmap und erlaubt weniger 
unerledigte Testpakete. Die ideale Anzahl von Testpaketen steigt mit 
den zunehmenden Möglichkeiten des Netzwerks. Diese Optionen setzen 
minimale oder maximale Schranken für diese Variable. Standardmäßig kann 
die ideale Parallelität auf eins sinken, wenn sich das Netzwerk als 
unzuverlässig herausstellt, und im Idealfall kann sie auf mehrere hundert 
steigen.</para>

<para>Meistens setzt man <option>--min-parallelism</option> auf eine 
Zahl größer als eins, um Scans von langsamen Hosts oder Netzwerken zu 
beschleunigen. Aber das Spielen mit dieser Option kann gefährlich sein, 
weil die Genaugkeit leiden kann, wenn man einen zu großen Wert setzt. 
Dabei verringert sich auch Nmaps Möglichkeit, die Parallelität je nach 
Netzwerkbedingungen dynamisch anzupassen. Ein Wert von zehn mag vernünftig 
sein, auch wenn ich nur als letzter Ausweg an diesem Wert drehe.</para>

<para>Die Option <option>--max-parallelism</option> wird manchmal auf eins 
gesetzt, um zu verhindern, dass Nmap mehr als ein Testpaket auf einmal an 
Hosts sendet. In Kombination mit <option>--scan-delay</option> (wird 
später behandelt) kann das nützlich sein, auch wenn Letzteres diesen Zweck 
gut genug allein erfüllt.</para>

</listitem>
</varlistentry>


<varlistentry>
<term>
<option>--min-rtt-timeout <replaceable>time</replaceable></option>, 
<option>--max-rtt-timeout <replaceable>time</replaceable></option>, 
<option>--initial-rtt-timeout
<replaceable>time</replaceable></option> (Timeouts von Testpaketen anpassen)
<indexterm><primary><option>--min-rtt-timeout</option></primary></indexterm>
<indexterm><primary><option>--max-rtt-timeout</option></primary></indexterm>
<indexterm><primary><option>--initial-rtt-timeout</option></primary></indexterm>
</term>
<listitem>

<para>Nmap verwaltet einen laufenden Timeout-Wert, der bestimmt, wie 
lange es auf eine Antwort zu einem Testpaket wartet, bevor es aufgibt 
oder das Paket erneut sendet. Dieser wird auf der Grundlage der 
Antwortzeiten bei früheren Testpaketen berechnet. 
<notman>Die genaue Formel finden Sie in 
<xref linkend="port-scanning-algorithms" />.</notman>
Falls die Netzwerk-Latenzzeit sich als groß genug und variabel erweist, 
kann dieser Timeout bis auf mehrere Sekunden wachsen. Er beginnt auch 
bei einem konservativen (hohen) Wert und kann diesen eine Weile behalten, 
wenn Nmap Hosts scannt, die nicht antworten.</para>

<para>
Werden Werte für <option>--max-rtt-timeout</option> und 
<option>--initial-rtt-timeout</option> angegeben, die kleiner als deren 
Standardwerte sind, so kann die Scan-Zeit erheblich verkürzt werden. 
Das gilt besonders für pinglose (<option>-PN</option>) Scans und solche 
von stark gefilterten Netzwerken. Aber verlangen Sie nicht zu viel. 
Der Scan kann am Ende länger brauchen, wenn Sie einen so kleinen Wert 
angeben, dass bei vielen Testpaketen der Timeout erreicht wird und 
sie erneut gesendet werden, während die Antwort unterwegs ist.</para>

<para>Falls alle Hosts in einem lokalen Netzwerk sind, sind 100 Millisekunden 
ein vernünftig aggressiver Wert für <option>--max-rtt-timeout</option>. 
Falls ein Routing ins Spiel kommt, pingen Sie zuerst einen Host im Netzwerk, 
sei es mit einem ICMP-Ping oder mit einem Programm zur Erstellung 
benutzerdefinierter Pakete wie 
<command>hping2</command>,<indexterm><primary><command>hping2</command></primary></indexterm>
das eine höhere Chance hat, durch eine Firewall zu kommen. 
Betrachten Sie dann die maximale Umlaufzeit bei circa zehn Paketen. 
Diese möchten Sie vielleicht für <option>--initial-rtt-timeout</option> 
verdoppeln und für <option>--max-rtt-timeout</option> verdrei- oder 
vervierfachen. Im Allgemeinen setze ich die maximale RTT nicht unter 
100&#x00A0;ms, egal, welche Ping-Zeiten ich habe. Und ich gehe auch nicht 
über 1000&#x00A0;ms.</para>

<para>Die Option <option>--min-rtt-timeout</option> wird selten benutzt, 
könnte aber nützlich sein, wenn ein Netzwerk so unzuverlässig ist, dass 
selbst Nmaps Standardeinstellung zu aggressiv ist. Da Nmap das Timeout 
nur dann auf das Minimum reduziert, wenn das Netzwerk zuverlässig scheint, 
sollte ein Bedarf hierfür eher ungewöhnlich sein und sollte als Fehler 
auf der <citetitle>nmap-dev</citetitle>-Mailingliste<indexterm><primary><citetitle>nmap-dev</citetitle> Mailingliste</primary></indexterm> 
berichtet werden.
</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--max-retries <replaceable>numtries</replaceable></option> (gibt die
          maximale Anzahl erneuter Sendeversuche bei Port-Scan-Testpaketen an)
         <indexterm><primary><option>--max-retries</option></primary></indexterm>
        </term>
        <listitem>

<para>Falls Nmap keine Antwort auf ein Testpaket eines Port-Scans erhält, 
könnte das heißen, dass der Port gefiltert ist. Oder aber das Testpaket 
oder die Antwort darauf ging im Netzwerk verloren. Es ist auch möglich, 
dass der Zielhost eine Ratenbeschränkung aktiviert hat, die die Antwort 
temporär blockiert hat. Also versucht es Nmap erneut, indem es das 
ursprüngliche Paket noch einmal sendet. Falls Nmap eine mangelnde 
Netzwerkzuverlässigkeit feststellt, führt es eventuell viele weitere 
Wiederholungen durch, bevor es bei einem Port aufgibt. Das verbessert 
zwar die Genauigkeit, verlängert aber auch die Scan-Zeiten. Wenn es auf 
die Performance ankommt, kann man die Scans durch eine Beschränkung 
der Anzahl dieser Wiederholungen beschleunigen. Sie können sogar 
<option>--max-retries 0</option> angeben, um sie ganz zu verbieten, 
auch wenn sich das nur in Situationen wie formlosen Überprüfungen 
empfiehlt, bei denen einige verpasste Ports oder Hosts 
nicht so wichtig sind.
</para>

<para>Der Standardwert (ohne <option>-T</option>-Template) sind bis zu zehn 
Wiederholungen. Falls das Netzwerk zuverlässig zu sein scheint und die 
Zielhosts keine Ratenbeschränkung haben, führt Nmap normalerweise nur eine 
Wiederholung durch. Daher sind die meisten Scans gar nicht betroffen, wenn 
man <option>--max-retries</option> z.B. auf den kleinen Wert drei verringert. 
Solche Werte können Scans von langsamen (ratenbeschränkten) Hosts aber 
erheblich beschleunigen. Wenn Nmap frühzeitig bei Ports aufgibt, verlieren 
Sie eventuell einiges an Information, aber das kann vorteilhafter sein, als 
ein Timeout von <option>--host-timeout</option> zu erreichen und alle 
Informationen über das Ziel zu verlieren.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--host-timeout <replaceable>time</replaceable></option> (bei langsamen Zielhosts aufgeben)
          <indexterm><primary><option>--host-timeout</option></primary></indexterm>
        </term>
        <listitem>

<para>Bei manchen Hosts braucht es einfach <emphasis>lange</emphasis>, 
sie zu scannen. Das kann an leistungsschwacher oder unzuverlässiger 
Netzwerk-Hardware oder -Software, an einer Paketratenbeschränkung 
oder einer restriktiven Firewall liegen. Die langsamsten paar Prozent 
der gescannten Hosts können einen Großteil der Scan-Zeit verbrauchen. 
Dann ist es manchmal das Beste, die Verluste abzuschneiden und diese 
Hosts erst einmal wegzulassen. Geben Sie <option>--host-timeout</option> 
mit der gewünschten maximalen Wartezeit an. Sie können z.B. 
<literal>30m</literal> angeben, um sicherzustellen, dass Nmap nicht 
mehr als eine halbe Stunde verschwendet, indem es auf einen einzelnen 
Host wartet. Beachten Sie, dass Nmap während dieser halben Stunde auch 
andere Hosts scannen kann, d.h. es ist keine komplette Zeitverschwendung. 
Ein Host, der das Timeout erreicht, wird übersprungen. 
Für diesen Host werden keine Ergebnisse der Port-Tabelle, 
Betriebssystem- oder Versionserkennung ausgegeben.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--scan-delay <replaceable>time</replaceable></option>;
        <option>--max-scan-delay
        <replaceable>time</replaceable></option> (Verzögerung zwischen Testpaketen anpassen)
        <indexterm><primary><option>--scan-delay</option></primary></indexterm>
        <indexterm><primary><option>--max-scan-delay</option></primary></indexterm>
        </term>
        <listitem>

<para>Diese Option bewirkt, dass Nmap mindestens die angegebene Zeit 
zwischen zwei Testpaketen an einen Host wartet. Das ist besonders bei 
einer Ratenbeschränkung<indexterm><primary>Ratenbeschränkung</primary></indexterm> 
sinnvoll. Solaris-Rechner (und viele andere auch) antworten auf 
UDP-Scan-Testpakete normalerweise nur mit einer ICMP-Nachricht pro 
Sekunde. Wenn Nmap mehr sendet, ist das Verschwendung. Mit einem  
<option>--scan-delay</option> von <literal>1s</literal> bleibt Nmap 
bei dieser langsamen Rate. Nmap versucht eine Ratenbeschränkung zu 
erkennen und die Scan-Verzögerung entsprechend anzupassen, aber es 
schadet nicht, sie explizit anzugeben, falls Sie schon wissen, welche 
Rate am besten funktioniert.</para>

<para>Wenn Nmap die Scan-Verzögerung nach oben anpasst, um mit der 
Ratenbeschränkung klarzukommen, verlangsamt sich der Scan dramatisch. 
Die Option <option>--max-scan-delay</option> gibt die größte Verzögerung 
an, die Nmap erlaubt. Ein kleiner Wert für <option>--max-scan-delay</option> 
kann Nmap beschleunigen, ist aber riskant. Ein zu kleiner Wert kann zu 
verschwenderischen wiederholten Sendungen führen und möglicherweise zu 
verpassten Ports, wenn das Ziel eine strenge Ratenbeschränkung 
implementiert.</para>

<para>Ein weiterer Einsatz von <option>--scan-delay</option> liegt bei 
der Umgehung schwellwertbasierter Intrusion-Detection- und 
-Prevention-Systeme (IDS/IPS).<indexterm><primary>intrusion detection
systems</primary><secondary>evading</secondary></indexterm> <notman>Diese 
Methode wird in <xref linkend="defeating-ids-snort-portscan" /> benutzt, 
um den standardmäßigen Port-Scan-Detektor im Snort-IDS zu besiegen. 
Auf dieselbe Weise können auch die meisten anderen Intrusion-Detection-Systeme 
besiegt werden.</notman>
</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>--min-rate <replaceable>number</replaceable></option>; <option>--max-rate <replaceable>number</replaceable></option>
        (direkte Steuerung der Scan-Rate)
        <indexterm><primary><option>--min-rate</option></primary></indexterm>
        <indexterm><primary><option>--max-rate</option></primary></indexterm>
        </term>
        <listitem>

<para>Nmaps dynamisches Timing findet sehr gut die passende 
Scan-Geschwindigkeit. Aber manchmal kennen Sie vielleicht die passende 
Scan-Rate für ein Netzwerk, oder vielleicht müssen Sie garantieren, 
dass ein Scan bis zu einem bestimmten Zeitpunkt fertig wird. Oder Sie 
müssen Nmap vielleicht davon abhalten, zu schnell zu scannen. 
Für diese Situationen sind die Optionen <option>--min-rate</option> 
und <option>--max-rate</option> vorgesehen.</para>

<para>Bei der Option <option>--min-rate</option> versucht Nmap sein 
Bestes, um Pakete so schnell wie die damit angegebene Rate zu senden 
oder noch schneller. Das Argument ist eine positive Fießkommazahl, 
die die Paketrate in Paketen pro Sekunde angibt. 
Die Angabe <option>--min-rate 300</option> bedeutet z.B., dass Nmap 
eine Rate von 300 Paketen pro Sekunde oder höher einzuhalten versucht. 
Die Angabe einer Minimalrate hält Nmap nicht davon ab, bei günstigen 
Bedingungen schneller zu werden.</para>

<para>Umgekehrt beschränkt <option>--max-rate</option> die Senderate auf 
das angegebene Maximum. Bei <option>--max-rate 100</option> wird sie 
auf 100 Pakete pro Sekunde bei einem schnellen Netzwerk beschränkt. Und 
bei <option>--max-rate 0.1</option> wird der Scan auf ein Paket pro 
zehn Sekunden verlangsamt. Mit <option>--min-rate</option> und 
<option>--max-rate</option> gleichzeitig können Sie die Rate in einem 
bestimmten Bereich halten.</para>

<para>Diese beiden Optionen sind global und betreffen den gesamten Scan, 
nicht nur einzelne Hosts. Sie betreffen nur Port-Scans und 
Host-Entdeckungs-Scans. Andere Merkmale wie die Betriebssystemerkennung 
implementieren ihr eigenes Timing.</para>

<para>Unter zwei Bedingungen kann die tatsächliche Scan-Rate unter das 
verlangte Minimum fallen. Die erste ist, wenn das Minimum schneller als 
die schnellste Rate ist, mit der Nmap senden kann, was hardwareabhängig 
ist. 
In diesem Fall sendet Nmap Pakete einfach so schnell wie möglich, aber 
Sie sollten wissen, dass solch hohe Raten sehr wahrscheinlich einen Verlust 
an Genauigkeit bedeuten. 
Die zweite Bedingung ist, wenn Nmap nichts zu senden hat, z.B. am Ende 
eines Scans, nachdem die letzten Testpakete gesendet wurden und Nmap 
darauf wartet, dass sie einen Timeout verursachen oder beantwortet werden. 
Eine sinkende Scan-Rate am Ende eines Scans oder zwischen Gruppen von 
Hosts ist normal. Die Senderate kann temporär das Maximum übersteigen, 
um unvorhergesehene Verzögerungen auszugleichen, aber im Durchschnitt 
bleibt die Rate bei oder unter dem Maximum.</para>

<para>Eine minimale Rate sollte man mit Vorsicht angeben. Scans, die  
schneller sind, als das Netzwerk erlaubt, können zu einem Verlust von 
Genauigkeit führen. In manchen Fällen kann die Wahl eines schnelleren 
Scans dazu führen, dass er <emphasis>länger</emphasis> braucht als bei 
einer kleineren Rate. Das liegt daran, dass Nmaps Algorithmen für die 
<notman><link linkend="scan-methods-adaptive-retransmission">adaptive erneute Übertragung</link><indexterm><primary>adaptive erneute Übertragung</primary><see>erneute Übertragung</see></indexterm><indexterm><primary>erneute Übertragung</primary></indexterm>
</notman>
<man>adaptive retransmission</man>
die von einer zu hohen Scan-Rate verursachte Netzwerküberlastung erkennen 
und die Anzahl der Wiederholungen erhöhen, um die Genauigkeit zu verbessern. 
Das heißt, selbst wenn Pakete mit höherer Rate gesendet werden, werden 
mehr Pakete insgesamt gesendet. Begrenzen Sie diese Anzahl von Wiederholungen 
nach oben mit der Option <option>--max-retries</option>, wenn Sie eine 
obere Grenze für die gesamte Scan-Zeit setzen müssen.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term><option>--defeat-rst-ratelimit</option>
        <indexterm><primary><option>--defeat-rst-ratelimit</option></primary></indexterm></term>
        <listitem>

<para>Viele Hosts haben lange eine 
Ratenbeschränkung<indexterm><primary>Ratenbeschränkung</primary></indexterm> 
benutzt, um die Anzahl der von ihnen gesendeten ICMP-Fehlermeldungen 
(z.B. Port-Unreachable-Fehler) zu reduzieren. 
Manche Systeme wenden nun ähnliche Ratenbeschränkungen auf die 
von ihnen erzeugten RST-(Reset-)Pakete an. Das kann Nmap dramatisch 
verlangsamen, weil es sein Timing an diese Ratenbeschränkungen anpasst. 
Mit der Option <option>--defeat-rst-ratelimit</option> können Sie Nmap 
sagen, dass es diese Ratenbeschränkungen ignorieren soll (z.B. bei 
Port-Scans wie dem SYN-Scan, die nicht-antwortende Ports 
<emphasis>nicht</emphasis> als <literal>offen</literal> behandeln).</para>

<para>Diese Option kann die Genauigkeit reduzieren, da einige Ports nicht 
zu antworten scheinen, weil Nmap nicht lange genug auf eine ratenbeschränkte 
RST-Antwort gewartet hat. Bei einem SYN-Scan führt die ausbleibende Antwort 
dazu, dass für den Port der Zustand <literal>gefiltert</literal> und 
<literal>geschlossen</literal> markiert wird, den wir sehen, wenn 
RST-Pakete empfangen werden. Diese Option ist nützlich, wenn Sie sich nur 
für offene Ports interessieren und eine Unterscheidung zwischen 
<literal>geschlossenen</literal> und <literal>gefilterten</literal> Ports 
die zusätzliche Zeit nicht wert ist.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-T
          paranoid|sneaky|polite|normal|aggressive|insane</option>
          (setzt ein Timing-Template)
        <indexterm><primary><option>-T</option></primary></indexterm>
        <indexterm><primary>Timing-Templates</primary><seealso><literal>paranoid</literal>, <literal>sneaky</literal>, <literal>polite</literal>, <literal>normal</literal>, <literal>aggressive</literal> und <literal>insane</literal></seealso></indexterm>
        </term>
        <listitem>
<indexterm><primary><option>-T0</option></primary><see><literal>paranoid</literal> Timing-Template</see></indexterm>
<indexterm><primary><option>-T1</option></primary><see><literal>sneaky</literal> Timing-Template</see></indexterm>
<indexterm><primary><option>-T2</option></primary><see><literal>polite</literal> Timing-Template</see></indexterm>
<indexterm><primary><option>-T3</option></primary><see><literal>normal</literal> Timing-Template</see></indexterm>
<indexterm><primary><option>-T4</option></primary><see><literal>aggressive</literal> Timing-Template</see></indexterm>
<indexterm><primary><option>-T5</option></primary><see><literal>insane</literal> Timing-Template</see></indexterm>

<para>Auch wenn die feinkörnigen Timing-Einstellungen im letzten Abschnitt 
mächtig und effektiv sind, finden manche Leute sie verwirrend. 
Außerdem kann die Wahl der passenden Werte manchmal mehr Zeit erfordern 
als der Scan, den Sie damit optimieren möchten. Deswegen bietet Nmap auch 
einen einfacheren Ansatz mit sechs Timing-Templates. Diese können Sie mit 
der Option <option>-T</option> und ihrer Nummer (0&#x02013;5) oder mit 
ihrem Namen angeben. Diese Template-Namen lauten: 
<option>paranoid</option>&#x00A0;(<option>0</option>),
<option>sneaky</option>&#x00A0;(<option>1</option>),
<option>polite</option>&#x00A0;(<option>2</option>),
<option>normal</option>&#x00A0;(<option>3</option>),
<option>aggressive</option>&#x00A0;(<option>4</option>)
und <option>insane</option>&#x00A0;(<option>5</option>).
Die ersten beiden sind für die Umgehung von IDS gedacht. 
Der Polite-Modus verlangsamt den Scan, damit er weniger Bandbreite und 
Ressourcen auf dem Zielrechner verbraucht. Der Normal-Modus ist der 
Standardwert, d.h. <option>-T3</option> macht gar nichts. Der 
Aggressive-Modus beschleunigt Scans, indem er davon ausgeht, dass 
Sie sich in einem einigermaßen schnellen und zuverlässigen Netzwerk 
befinden. Und schließlich geht der 
Insane-Modus<indexterm><primary><literal>insane</literal> (<option>-T5</option>) Timing-Template</primary></indexterm> 
davon aus, dass sie sich in einem außergewöhnlich schnellen Netzwerk 
befinden bzw. gewillt sind, für mehr Geschwindigkeit auf etwas Genauigkeit 
zu verzichten.</para>

<para>Mit diesen Templates können Benutzer angeben, wie aggressiv 
sie vorgehen möchten, und trotzdem Nmap die Wahl der genauen Zeitwerte 
überlassen. Diese Templates führen außerdem auch kleine 
Geschwindigkeitsanpassungen aus, für die es zur Zeit keine feinkörnigen 
Einstellungsoptionen gibt. Zum Beispiel 
verbietet <option>-T4</option>,<indexterm><primary><literal>aggressive</literal> (<option>-T4</option>) Timing-Template</primary></indexterm> 
dass die dynamische Scan-Verzögerung bei TCP-Ports über 10&#x00A0;ms ansteigt, 
und <option>-T5</option> begrenzt diesen Wert auf 5&#x00A0;ms. 
Templates könen auch in Kombination mit feinkörnigen Einstellungen 
benutzt werden, wobei die feinkörnigeren Optionen die entsprechenden 
allgemeinen Werte aus den Templates überschreiben. Ich empfehle den Einsatz 
von <option>-T4</option> beim Scannen halbwegs moderner und zuverlässiger 
Netzwerke. Wenn Sie diese Option angeben, 
auch dann, wenn Sie zusätzliche feinkörnige Einstellungen benutzen, 
profitieren Sie von den weiteren kleinen Optimierungen, die damit 
verbunden sind.</para>

<para>Falls Sie eine anständige Breitband- oder Ethernet-Verbindung haben, 
würde ich empfehlen, immer <option>-T4</option> zu benutzen. Manche Leute 
lieben <option>-T5</option>, was für meinen Geschmack aber zu aggressiv 
ist. Manchmal geben Leute <option>-T2</option> an, weil sie denken, dadurch 
würden Hosts weniger abstürzen, oder weil sie sich selbst im Allgemeinen 
für höflich halten. Oft realisieren sie einfach nicht, wie langsam 
<option>-T polite</option><indexterm><primary><literal>polite</literal> (<option>-T2</option>) Timing-Template</primary></indexterm>
tatsächlich ist. Ein solcher Scan kann zehnmal mehr Zeit benötigen als 
ein Standard-Scan. Rechnerabstürze und Bandbreitenprobleme kommen mit den 
standardmäßigen Timing-Optionen (<option>-T3</option>) selten vor, 
weswegen ich das normalerweise vorsichtigen Scannern empfehle. 
Auf die Versionserkennung zu verzichten ist weit wirksamer bei der Reduktion 
dieser Probleme als das Herumprobieren mit Zeiteinstellungen.</para>

<para>Zwar sind
<option>-T0</option><indexterm><primary><literal>paranoid</literal> (<option>-T0</option>) Timing-Template</primary></indexterm>
und <option>-T1</option><indexterm><primary><literal>sneaky</literal> (<option>-T1</option>) Timing-Template</primary></indexterm>
vielleicht hilfreich bei der Vermeidung von IDS-Alarmen, benötigen aber 
außergewöhnlich viel Zeit beim Scannen von Tausenden von Rechnern oder 
Ports. Für einen derart langen Scan möchten Sie vielleicht doch lieber die 
genau benötigten Zeitwerte angeben, statt sich auf die vorgefertigten 
Werte von <option>-T0</option> und <option>-T1</option> zu verlassen.</para>

<para>Die Haupteffekte von <option>T0</option> sind die Serialisierung des 
Scans, bei der immer nur ein Port gescannt wird, und eine Wartezeit von 
fünf Minuten zwischen zwei Testpaketen. <option>T1</option> und 
<option>T2</option> sind ähnlich, warten aber jeweils nur 15 bzw. 
0,4 Sekunden zwischen zwei Testpaketen. <option>T3</option> ist die 
Standardeinstellung in Nmap, die eine 
Parallelisierung<indexterm><primary><literal>normal</literal> (<option>-T3</option>) Timing-Template</primary></indexterm> 
beinhaltet. <option>-T4</option> macht das Äquivalent von 
<option>--max-rtt-timeout 1250 --initial-rtt-timeout 500 --max-retries 6</option> 
und setzt die maximale TCP-Scan-Verzögerung auf 10 Millisekunden. 
<option>T5</option> macht das Äquivalent von 
<option>--max-rtt-timeout 300 --min-rtt-timeout 50 
--initial-rtt-timeout 250 --max-retries 2 --host-timeout 15m</option> 
und setzt die maximale TCP-Scan-Verzögerung auf 5&#x00A0;ms.</para>

        </listitem>
      </varlistentry>
    </variablelist>
    <indexterm class="endofrange" startref="man-performance-indexterm"/>
    <indexterm class="endofrange" startref="man-performance-timing-indexterm"/>
  </refsect1>

  <refsect1 id='man-bypass-firewalls-ids'>
    <title>Firewall-/IDS-Umgehung und -Täuschung</title>
    <indexterm class="startofrange" id="man-bypass-filewalls-indexterm"><primary>Firewalls</primary><secondary>umgehen</secondary></indexterm>
    <indexterm class="startofrange" id="man-bypass-ids-indexterm"><primary>Intrusion-Detection-Systeme</primary><secondary>umgehen</secondary></indexterm>

<para>Viele Internet-Pioniere hatten die Vision eines globalen, offenen 
Netzwerks, in dem ein universeller IP-Adressraum virtuelle Verbindungen 
zwischen zwei beliebigen Knoten erlaubt. Dadurch können Hosts als echte, 
gleichberechtigte Partner agieren und Information untereinander senden und 
empfangen. Die Menschen könnten von ihrer Arbeitsstelle auf all ihre Systeme 
daheim zugreifen, die Einstellungen der Klimaanlage ändern oder die Türen 
für verfrühte Gäste aufsperren. Diese Vision einer universellen Konnektivität 
wurde durch eine Verknappung im Adressraum und Sicherheitsbedenken abgewürgt. 
In den frühen 1990er Jahren begannen Organisationen mit der Aufstellung von 
Firewalls mit dem ausdrücklichen Zweck einer Reduktion der Konnektivität. 
Riesige Netzwerke wurden mit Anwendungs-Proxies, NAT (Network Address 
Translation)-Geräten 
und Paketfiltern vom ungefilterten Internet abgeriegelt. Der 
ungehinderte Fluss von Informationen hat einer strengen Regulierung von 
zugelassenen Kommunikationskanälen und der darüber ausgetauschten Inhalte 
Platz gemacht.</para>

<para>Netzwerkhindernisse wie Firewalls können die Analyse eines Netzwerks 
außerordentlich schwer machen. Und leichter wird es nicht werden, da das 
Verhindern von Ausspähungen oft ein Schlüsselziel beim Einsatz 
dieser Geräte ist. Trotzdem bietet Nmap viele Eigenschaften, um beim 
Verständnis dieser komplexen Netzwerke zu helfen und um zu überprüfen, 
dass diese Filter arbeiten wie gewünscht.
Es bietet sogar Mechanismen zur Umgehung schlechter Abwehrstrategien. 
Eine der besten Methoden, Ihre Lage in puncto Netzwerksicherheit 
zu verstehen, ist die, sie anzugreifen. Versetzen Sie sich selbst in 
die Denkweise eines Angreifers und wenden Sie Verfahren aus diesem Kapitel 
gegen Ihr Netzwerk an. Starten Sie einen FTP-Bounce-Scan, Idle-Scan, 
Fragmentierungsangriff, oder versuchen Sie durch einen Ihrer eigenen Proxies 
zu tunneln.</para>

<para>Zusätzlich zur Beschränkung der Netzwerkaktivität überwachen Firmen 
ihren Datenverkehr immer mehr mit Intrusion-Detection-Systemen 
(IDS). Alle wichtigen IDS werden mit Regeln ausgeliefert, die entworfen wurden, 
um Nmap-Scans zu erkennen, weil Scans manchmal Vorboten von Angriffen sind. 
Viele dieser Produkte haben sich in Intrusion-<emphasis>Prevention</emphasis>-Systeme 
(IPS)<indexterm><primary>Intrusion-Prevention-Systeme</primary><seealso>Intrusion-Detection-Systeme</seealso></indexterm>
verwandelt, die für böswillig gehaltenen Datenverkehr aktiv blockieren. 
Dummerweise ist es für Netzwerkadministratoren und IDS-Hersteller eine sehr 
schwierige Aufgabe, böswillige Absichten durch die Analyse von Paketdaten 
zuverlässig zu erkennen. Angreifer mit Geduld, Geschick und der Hilfe 
bestimmter Nmap-Optionen können meist unerkannt an einem IDS vorbeikommen. 
Währenddessen müssen Administratoren mit riesigen Mengen falscher 
positiver Ergebnisse kämpfen, bei denen eine nicht böswillige Aktivität 
fehldiagnostiziert wird und Alarm schlägt oder blockiert wird.
</para>

<para>Ab und zu schlagen Leute vor, dass Nmap keine Eigenschaften für die 
Umgehung von Firewallregeln oder IDS enthalten sollte. Ihr Argument ist, 
dass diese Eigenschaften genauso wahrscheinlich von Angreifern missbraucht 
werden wie von Administratoren, die die Sicherheit verbessern. Das Problem 
bei dieser Logik ist, dass diese Methoden trotzdem von Angreifern benutzt 
würden, die einfach andere Werkzeuge finden oder die Funktionalität in 
Nmap einbauen würden. Zugleich wäre es für Administratoren sehr viel 
schwerer, ihren Job zu machen. Das Aufstellen nur moderner, gepatchter 
FTP-Server ist eine wesentlich bessere Verteidigung als der Versuch, 
die Verbreitung von Werkzeugen zu verhindern, die einen FTP-Bounce-Angriff 
implementieren.
</para>

<para>Es gibt keine Wunderlösung (oder Nmap-Option) zur Erkennung und 
Umgehung von Firewalls und IDS-Systemen. Es braucht Kompetenz und Erfahrung. 
Eine Anleitung dazu würde den Rahmen dieses Referenz-Handbuches sprengen, 
das nur die wichtigsten Optionen auflistet und beschreibt, was sie 
machen.</para>

<variablelist>
      <varlistentry>
        <term>
          <option>-f</option> (Pakete fragmentieren);
          <option>--mtu</option> (benutzt angegebene MTU)
          <indexterm significance="preferred"><primary><option>-f</option></primary></indexterm>
          <indexterm significance="preferred"><primary><option>--mtu</option></primary></indexterm>
        </term>

        <listitem>
<para>Die Option <option>-f</option> bewirkt, dass der gewünschte Scan 
(inklusive Ping-Scans) winzig fragmentierte IP-Pakete benutzt. Die Idee 
dabei ist, den TCP-Header über mehrere Pakete aufzuteilen, um es 
Paketfiltern, Intrusion-Detection-Systemen und anderen Ärgernissen 
schwerer zu machen, Ihre Aktivitäten zu durchschauen. Seien Sie dabei 
vorsichtig! Manche Programme haben Mühe, mit diesen winzigen Paketen 
umzugehen. Ein Sniffer alter Schule namens Sniffit ist beim Erhalt des 
ersten Fragments sofort mit einem Segmentation-Fault-Fehler abgestürzt. 
Wenn Sie diese Option einmal angeben, spaltet Nmap die Pakete in acht 
Bytes oder weniger nach dem IP-Header auf. Das heißt, ein 20 Byte langer 
TCP-Header würde in drei Pakete aufgeteilt, zwei mit acht Bytes des 
TCP-Headers und eines mit den restlichen vier. Natürlich hat jedes 
Fragment auch einen IP-Header. Geben Sie erneut <option>-f</option> an, 
um 16 Bytes pro Fragment zu benutzen (was die Anzahl der Fragmente 
verkleinert).<indexterm><primary><option>-f</option></primary><secondary>zweimal angeben</secondary></indexterm>
Oder Sie geben eine eigene Offset-Größe mit der Option 
<option>--mtu</option> (für engl. maximum transmission unit) an. 
Wenn Sie <option>--mtu</option> angeben, 
sollten Sie nicht auch <option>-f</option> angeben. Das Offset muss ein 
Vielfaches von acht sein. Zwar kommen fragmentierte Pakete nicht durch 
Paketfilter und Firewalls durch, die alle IP-Fragmente in eine 
Warteschlange stellen, wie z.B. die Option 
<varname>CONFIG_IP_ALWAYS_DEFRAG</varname> im Linux-Kernel, aber einige 
Netzwerke können sich den damit verbundenen Performance-Einbruch nicht 
leisten und lassen sie folglich deaktiviert. Andere können sie nicht 
aktivieren, weil die Fragmente auf verschiedenen Routen in ihre Netzwerke 
kommen könnten. Manche Quellsysteme defragmentieren hinausgehende Pakete 
im Kernel. Ein Beispiel dafür ist Linux mit dem Verbindungsmodul 
iptables.<indexterm><primary>iptables</primary></indexterm>
Führen Sie einen Scan aus, während ein Sniffer wie z.B. 
<application>Wireshark</application><indexterm><primary><application>Wireshark</application></primary></indexterm> 
läuft, um sicherzustellen, dass die gesendeten Pakete fragmentiert sind. 
Falls Ihr Host-Betriebssystem Probleme macht, probieren Sie die Option 
<option>--send-eth</option><indexterm><primary><option>--send-eth</option></primary></indexterm> 
aus, um die IP-Schicht zu umgehen und rohe Ethernet-Rahmen zu 
schicken.</para>

<para>Eine Fragmentierung wird von Nmap nur für rohe Pakete unterstützt, 
die man mit TCP- und UDP-Port-Scans (außer beim Connect-Scan und 
FTP-Bounce-Scan) und der Betriebssystemerkennung benutzen kann. 
Merkmale wie die Versionserkennung und die Nmap Scripting Engine 
unterstützen im Allgemeinen keine Fragmentierung, weil sie sich auf 
den TCP-Stack Ihres Hosts verlassen, um mit anderen Zielen zu 
kommunizieren.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-D <replaceable>decoy1</replaceable><optional>,<replaceable>decoy2</replaceable></optional><optional>,ME</optional><optional>,...</optional></option>
          (verdeckt einen Scan mit Ködern)
          <indexterm><primary><option>-D</option></primary></indexterm> 
          <indexterm><primary>Köder</primary></indexterm>
        </term>
        <listitem>
<para>Führt einen Decoy-Scan durch, was für den entfernten Host den 
Anschein erweckt, dass der oder die Hosts, die Sie als Köder 
angeben, das Zielnetzwerk ebenfalls scannen. Deren IDS kann also 
5&#x02013;10 Port-Scans von eindeutigen IP-Adressen verzeichnen, aber 
es weiß nicht, welche IP sie gescannt hat und welche unschuldige Köder 
waren. Das kann man zwar bekämpfen, indem man Router-Pfade mitverfolgt, 
Antworten verwirft oder weitere aktive Mechanismen anwendet, aber im 
Allgemeinen ist es eine wirksame Methode zum Verbergen Ihrer 
IP-Adresse.</para>

<para>Trennen Sie alle Köder mit Kommata voneinander, wobei Sie 
optional 
<literal>ME</literal><indexterm><primary><literal>ME</literal> (Köder-Adresse)</primary></indexterm> 
als einen der Köder angeben können, um die Position Ihrer echten 
IP-Adresse zu bestimmen. Falls Sie <literal>ME</literal> an 
sechster Stelle oder später setzen, zeigen einige verbreitete 
Port-Scan-Detektoren (wie z.B. der hervorragende 
Scanlogd<indexterm><primary><application>Scanlogd</application></primary></indexterm> 
von Solar Designer<indexterm><primary>Solar Designer</primary></indexterm>) 
Ihre IP-Adresse wahrscheinlich überhaupt nicht an. Wenn Sie kein 
<literal>ME</literal> angeben, setzt es Nmap an eine zufällig gewählte 
Position. Sie können auch 
<literal>RND</literal><indexterm><primary><literal>RND</literal> (Köder-Adresse)</primary></indexterm> 
benutzen, um eine zufällige, nicht-reservierte IP-Adresse zu 
erzeugen, oder <literal>RND:<replaceable>number</replaceable></literal>, 
um <replaceable>number</replaceable> Adressen zu erzeugen.</para>

<para>Beachten Sie, dass die Hosts, die Sie als Köder benutzen, eingeschaltet 
sein sollten, sonst könnten Sie versehentlich einen SYN-Flood-Angriff auf 
Ihre Ziele auslösen. Außerdem lässt sich der scannende Host sehr einfach 
bestimmen, wenn nur einer davon im Netzwerk eingeschaltet ist. Vielleicht 
möchten Sie IP-Adressen statt -Namen benutzen (damit die Köder-Netzwerke 
Sie nicht in ihren Nameserver-Protokollen sehen).</para>

<para>Köder werden sowohl im initialen Ping-Scan (mit ICMP, SYN, ACK 
oder was auch immer) als auch während der eigentlichen Port-Scan-Phase 
benutzt. Auch bei der Erkennung entfernter Betriebssysteme 
(<option>-O</option>) werden Köder benutzt. Bei der Versionserkennung 
oder beim TCP-Connect-Scan funktionieren Köder jedoch nicht. Falls 
eine Scan-Verzögerung stattfindet, wird sie zwischen zwei Stapeln 
vorgetäuschter Testpakete erzwungen, nicht zwischen einzelnen Testpaketen. 
Weil Köder stapelweise auf einmal gesendet werden, können sie vorübergehend 
die Beschränkungen der Überlastungssteuerung verletzen.</para>

<para>Man sollte hierbei noch erwähnen, dass beim Einsatz von zu vielen 
Ködern Ihr Scan sich verlangsamen und sogar ungenauer werden kann. 
Manche ISPs filtern außerdem Ihre vorgetäuschten Pakete, aber viele 
beschränken solche vorgetäuschten IP-Pakete in keinster Weise.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-S <replaceable>IP_Address</replaceable></option> (Quelladresse vortäuschen)
          <indexterm><primary><option>-S</option></primary></indexterm>
          <indexterm><primary>Vortäuschen der Quelladresse</primary></indexterm>
        </term>
        <listitem>

<para>Unter gewissen Umständen kann Nmap eventuell Ihre Quelladresse 
nicht bestimmen (wenn dem so ist, dann sagt Ihnen Nmap Bescheid). 
Benutzen Sie in diesem Fall <option>-S</option> mit der IP-Adresse 
der Schnittstelle, über die Sie die Pakete senden möchten.</para>

<para>Eine weitere mögliche Anwendung dieses Flags ist eine Vortäuschung 
des Scans, um die Ziele glauben zu machen, dass <emphasis>jemand 
anderes</emphasis> sie scannt. Stellen Sie sich eine Firma vor, die 
wiederholt von einem Mitbewerber gescannt wird! Bei dieser Art von 
Anwendung werden im Allgemeinen die Optionen <option>-e</option> und 
<option>-PN</option> benötigt. Beachten Sie, dass Sie normalerweise 
Antwortpakete zurückbekommen (sie werden an die IP adressiert, die Sie 
vortäuschen), d.h. Nmap kann keinen sinnvollen Bericht produzieren.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-e <replaceable>interface</replaceable></option> (angegebene Schnittstelle benutzen)
          <indexterm><primary><option>-e</option></primary></indexterm>
          <indexterm><primary>interface</primary><seealso><option>-e</option></seealso></indexterm>
        </term>
        <listitem>

<para>Sagt Nmap, auf welcher Schnittstelle es Pakete senden und 
empfangen soll. Nmap sollte das automatisch erkennen können, 
sagt Ihnen aber Bescheid, wenn nicht.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--source-port <replaceable>portnumber</replaceable>;</option>
          <option>-g <replaceable>portnumber</replaceable></option> (Quell-Portnummer vortäuschen)
          <indexterm significance="preferred"><primary><option>--source-port</option></primary></indexterm>
          <indexterm significance="preferred"><primary><option>-g</option></primary></indexterm>
          <indexterm><primary>Quellportnummer</primary></indexterm>
        </term>
        <listitem>

<para>Eine Fehlkonfiguration, die überraschend häufig vorkommt, ist es, dem 
Netzwerkverkehr allein auf Basis der Quell-Portnummer zu vertrauen. Wie 
das zustande kommt, kann man leicht verstehen. Ein Administrator setzt 
eine glänzende neue Firewall auf und wird sofort mit Beschwerden von 
undankbaren Benutzern überflutet, deren Anwendungen nicht mehr laufen. 
Vor allem DNS könnte einen Aussetzer haben, weil die UDP-DNS-Antworten 
von externen Servern nicht länger ins Netzwerk hineinkommen. Ein 
weiteres häufiges Beispiel ist FTP. Bei aktiven FTP-Übertragungen 
versucht der entfernte Server, eine Verbindung zurück zum Client 
herzustellen, um die gewünschte Datei zu übertragen.</para>

<para>Für diese Probleme existieren sichere Lösungen, oftmals in Form von 
Proxies auf Anwendungsebene oder Protokoll-parsenden Firewall-Modulen. 
Leider gibt es auch einfachere, unsichere Lösungen. Viele Administratoren 
haben beobachtet, dass DNS-Antworten von Port 53 und aktive FTP-Antworten 
von Port 20 kommen, und sind in die Falle getappt, eingehenden Datenverkehr 
nur von diesen Ports zu erlauben. Oft gehen sie davon aus, dass kein Angreifer 
solche Firewall-Lecks bemerken und ausbeuten würde. In anderen Fällen 
betrachten das Administratoren als kurzfristige Überbrückungsmaßnahme,  
bis sie eine sicherere Lösung implementieren können. Und dann vergessen sie 
diese Sicherheitsaktualisierung.
</para>

<para>Aber nicht nur überarbeitete Netzwerkadministratoren tappen in diese 
Falle. Zahlreiche Produkte wurden mit diesen unsicheren Regeln ausgeliefert. 
Sogar Microsoft hat sich schuldig gmacht. Die IPsec-Filter, die mit 
Windows 2000 und Windows XP ausgeliefert wurden, enthalten eine implizite 
Regel, die jeden TCP- oder UDP-Datenverkehr von Port 88 (Kerberos) erlaubt. 
Ein weiterer bekannter Fall sind Versionen der Zone Alarm Personal-Firewall 
bis 2.1.25, die alle empfangenen UDP-Pakete vom Quell-Port 53 (DNS) oder 
67 (DHCP) erlauben.</para>

<para>Nmap bietet die Optionen <option>-g</option> und 
<option>--source-port</option> (sind äquivalent), um diese Schwächen 
auszunutzen. Geben Sie einfach eine Portnummer an, und Nmap wird, wenn 
möglich, Pakete von diesem Port senden. 
Damit es richtig funktioniert, muss Nmap für bestimmte 
Betriebssystemerkennungstests verschiedene Portnummern benutzen, 
und DNS-Anfragen ignorieren das <option>--source-port</option>-Flag, 
weil Nmap sich bei ihnen auf System-Bibliotheken verlässt. Die meisten 
TCP-Scans, inklusive dem SYN-Scan, unterstützen die Option vollständig, 
ebenso wie der UDP-Scan.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--data-length <replaceable>number</replaceable></option> (Zufallsdaten an gesendete Pakete anfügen)
          <indexterm><primary><option>--data-length</option></primary></indexterm>
        </term>
        <listitem>
<para>Normalerweise sendet Nmap minimale Pakete, die nur einen Header 
enthalten. Daher haben seine TCP-Pakete im Allgemeinen nur 40 Bytes 
und die ICMP Echo-Requests nur 28. Mit dieser Option sagen Sie Nmap, 
dass es die angegebene Anzahl von zufälligen Bytes an die meisten 
gesendeten Pakete hinzufügen soll. Pakete für die Betriebssystemerkennung 
(<option>-O</option>) sind davon nicht 
betroffen,<indexterm><primary><option>--data-length</option></primary><secondary>kein Effekt in der Betriebssystemerkennung</secondary></indexterm> 
weil dort aus Genauigkeitsgründen konsistente Pakete verlangt werden, 
aber die meisten Ping- und Port-Scan-Pakete unterstützen das. Das kann 
den Scan etwas verlangsamen, aber auch etwas unauffälliger machen.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
      <term>
      <option>--ip-options <replaceable>S|R [route]|L [route]|T|U ... </replaceable>;</option>
      <option>--ip-options <replaceable>hex string</replaceable></option>  (sendet Pakete mit angegebenen IP-Optionen)
      <indexterm><primary><option>--ip-options</option></primary></indexterm>
      <indexterm><primary>IP-Optionen</primary></indexterm>
      </term>
      <listitem>

<para>Laut 
<ulink role="hidepdf" url="http://www.rfc-editor.org/rfc/rfc791.txt">IP-Protokoll</ulink> 
können in den Paket-Headern mehrere Optionen enthalten sein. Anders als 
die allgegenwärtigen TCP-Optionen sieht man IP-Optionen aus Gründen 
der praktischen Anwendbarkeit und Sicherheit nur selten. Tatsächlich 
blockieren die meisten Internet-Router die gefährlichsten Optionen 
wie Source Routing sogar. Dennoch können diese Optionen in manchen 
Fällen nützlich sein, um die Netzwerk-Route zu Zielrechnern zu 
bestimmen und zu manipulieren. Sie können z.B. vielleicht die Option 
Record Route dazu benutzen, einen Pfad zum Ziel sogar dann zu 
bestimmen, wenn traditionellere, traceroute-artige Ansätze versagen. 
Oder wenn Ihre Pakete von einer bestimmten Firewall verworfen werden, 
können Sie mit den Optionen Strict oder Loose Source Routing 
möglicherweise eine andere Route angeben.</para>

<para>Die meisten Möglichkeiten bei der Angabe von IP-Optionen hat man, 
wenn man einfach Werte als Argumente für <option>--ip-options</option> 
angibt. Stellen Sie vor jede Hex-Zahl ein <literal>\x</literal> und 
zwei Ziffern. Einzelne Zeichen können Sie wiederholen, indem Sie ihnen 
ein Sternchen und dann die Anzahl der Wiederholungen nachstellen. So ist 
z.B. <literal>\x01\x07\x04\x00*36\x01</literal> ein Hex-String mit 
36 NUL-Bytes.</para>

<para>Nmap bietet auch einen verkürzten Mechanismus für die Angabe 
von Optionen. Geben Sie einfach die Buchstaben <literal>R</literal>, 
<literal>T</literal> oder <literal>U</literal> an, um jeweils 
Record Route,<indexterm><primary>Record-Route-IP-Option</primary></indexterm> 
Record Timestamp<indexterm><primary>Record-Timestamp-IP-Option</primary></indexterm> 
oder beide Optionen gemeinsam anzugeben. 
Loose oder Strict Source 
Routing<indexterm><primary>Source Routing</primary></indexterm> 
kann man mit <literal>L</literal> bzw. <literal>S</literal>, gefolgt von 
einem Leerzeichen und einer mit Leerzeichen getrennten Liste von 
IP-Adressen angeben.</para>

<para>Wenn Sie die Optionen in den gesendeten und empfangenen Paketen 
sehen möchten, geben Sie <option>--packet-trace</option> an. Mehr 
Informationen und Beispiele zum Einsatz von IP-Optionen mit Nmap finden 
Sie unter <ulink url="https://seclists.org/nmap-dev/2006/q3/0052.html"/>.
</para>

      </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--ttl <replaceable>value</replaceable></option> (setzt IP-Time-to-live-Feld)
          <indexterm><primary><option>--ttl</option></primary></indexterm>
          <indexterm><primary>Time-To-Live (TTL)</primary></indexterm>
        </term>
        <listitem>
<para>Setzt bei IPv4 das Time-to-live-Feld in gesendeten Paketen 
auf den angegebenen Wert.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--randomize-hosts</option> (randomisiert Reihenfolge der Zielhosts)
          <indexterm significance="preferred"><primary><option>--randomize-hosts</option></primary></indexterm>
          <indexterm><primary>Randomisierung von Hosts</primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, dass es alle Gruppen von bis zu 16.384 Hosts 
durcheinanderwürfelt, bevor es sie scannt. Das kann den Scan für 
verschiedene Netzwerk-Überwachungssysteme weniger offensichtlich 
machen, besonders dann, wenn Sie ihn mit einer langsamen 
Timing-Option kombinieren. Wenn Sie größere Gruppen randomisieren 
möchten, müssen Sie 
<varname>PING_GROUP_SZ</varname><indexterm><primary><varname>PING_GROUP_SZ</varname></primary></indexterm> 
in <filename>nmap.h</filename><indexterm><primary><filename>nmap.h</filename></primary></indexterm> 
erhöhen und neu kompilieren. 
Eine alternative Lösung ist es, die Liste der Ziel-IPs mit einem List-Scan 
(<option>-sL -n -oN <replaceable>filename</replaceable></option>) zu 
erzeugen, dann z.B. mit einem Perl-Script zu randomisieren, um sie 
schließlich als Ganzes mit 
<option>-iL</option><indexterm><primary><option>-iL</option></primary><secondary>Hosts randomisieren mit</secondary></indexterm> 
an Nmap zu übergeben.
</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--spoof-mac <replaceable>MAC address, prefix, or vendor
          name</replaceable></option> (MAC-Adresse vortäuschen)
        <indexterm significance="preferred"><primary><option>--spoof-mac</option></primary></indexterm>
        <indexterm><primary>Vortäuschen einer MAC-Adresse</primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, dass es in allen gesendeten rohen Ethernet-Rahmen 
die angegebene MAC-Adresse<indexterm><primary>MAC-Adresse</primary></indexterm> 
benutzt. Diese Option impliziert 
<option>--send-eth</option>,<indexterm><primary><option>--send-eth</option></primary><secondary>impliziert von <option>--spoof-mac</option></secondary></indexterm> 
um sicherzustellen, dass Nmap tatsächlich Pakete auf Ethernet-Ebene 
sendet. Die MAC-Adresse kann in mehreren Formaten angegeben werden. 
Wenn es einfach die Zahl <literal>0</literal> ist, wählt Nmap eine 
völlig zufällige MAC-Adresse für diese Sitzung. Falls der angegebene 
String aus einer geraden Anzahl von Hexadezimalziffern besteht (in dem 
Paare optional mit Doppelpunkten getrennt sein können), benutzt Nmap 
diese als MAC. Werden weniger als 12 Hexadezimalziffern angegeben, 
dann füllt Nmap die restlichen sechs Bytes mit zufälligen Werten. Falls 
das Argument weder null noch ein Hex-String ist, schaut Nmap in 
<filename>nmap-mac-prefixes</filename> nach, um einen Herstellernamen 
zu finden, der den angegebenen String enthält (unabhängig von der 
Schreibweise). Wird eine Übereinstimmung gefunden, benutzt Nmap die 
OUI dieses Herstellers (einen drei Byte langen 
Präfix)<indexterm><primary>Organizationally Unique Identifier (OUI)</primary><seealso><filename>nmap-mac-prefixes</filename></seealso></indexterm> 
und füllt die verbleibenden drei Bytes mit Zufallswerten. Gültige 
Beispiele für Argumente von <option>--spoof-mac</option> sind 
<literal>Apple</literal>, <literal>0</literal>, 
<literal>01:02:03:04:05:06</literal>, <literal>deadbeefcafe</literal>, 
<literal>0020F2</literal> und <literal>Cisco</literal>. 
Diese Option betrifft nur Scans mit rohen Paketen wie den SYN-Scan oder 
die Betriebssystemerkennung, keine verbindungsorientierten Merkmale wie 
die Versionserkennung oder die Nmap Scripting Engine.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--badsum</option> (sendet Pakete mit falschen TCP/UDP-Prüfsummen)
        <indexterm><primary><option>--badsum</option></primary></indexterm>
        <indexterm><primary>TCP-Prüfsumme</primary></indexterm>
        <indexterm><primary>Prüfsummen</primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, bei den an Zielhosts gesendeten Paketen 
ungültige TCP- oder UDP-Prüfsummen zu benutzen. Da so gut wie alle 
Host-IP-Stacks solche Pakete verwerfen, kommen eventuelle Antworten 
sehr wahrscheinlich von einer Firewall oder einem IDS, das sich nicht 
die Mühe macht, die Prüfsumme zu überprüfen. Mehr Details zu dieser 
Methode finden Sie unter <ulink url="https://nmap.org/p60-12.html"/>.</para>
        </listitem>
      </varlistentry>

    </variablelist>

    <indexterm class="endofrange" startref="man-bypass-ids-indexterm"/>
    <indexterm class="endofrange" startref="man-bypass-filewalls-indexterm"/>
  </refsect1>


  <refsect1 id='man-output'>
    <title>Ausgabe</title>
    <indexterm class="startofrange" id="man-output-indexterm"><primary>Ausgabeformate</primary></indexterm>

<para>Alle Sicherheitswerkzeuge sind nur so gut wie die Ausgabe, die 
sie erzeugen. Komplexe Tests und Algorithmen haben einen geringen Wert, 
wenn sie nicht auf übersichtliche und verständliche Weise dargestellt 
werden. Da Nmap auf vielfältige Weise von verschiedenen Leuten und 
anderer Software benutzt wird, kann kein Format allein es allen recht 
machen. Daher bietet Nmap mehrere Formate, darunter den interaktiven 
Modus, den Menschen direkt lesen können, und XML, das von Software 
leicht geparst werden kann.</para>

<para>Zusätzlich zu verschiedenen Ausgabeformaten bietet Nmap Optionen 
zur Steuerung der Ausführlichkeit dieser Ausgabe sowie Debugging-Meldungen. 
Die Ausgaben können an die Standardausgabe oder an benannte Dateien gehen, 
die Nmap überschreiben bzw. an die es seine Ausgabe anfügen kann. 
Mit den Ausgabedateien können außerdem abgebrochene Scans fortgesetzt 
werden.</para>

<para>Nmap erzeugt seine Ausgabe in fünf verschiedenen Formaten. 
Das Standardformat heißt 
<firstterm>interaktive Ausgabe</firstterm><indexterm><primary>interaktive Ausgabe</primary></indexterm> 
und wird an die Standardausgabe (stdout)<indexterm><primary>Standardausgabe</primary></indexterm> 
gesendet. 
Es gibt auch die 
<firstterm>normale Ausgabe</firstterm>,<indexterm><primary>normale Ausgabe</primary></indexterm> 
die ähnlich zur interaktiven Ausgabe ist, außer dass sie weniger 
Laufzeitinformation und Warnungen ausgibt, weil man davon ausgeht, 
dass sie erst nach Abschluss des Scans analysiert wird und nicht, 
während er noch läuft.</para>

<para>Die <firstterm>XML-Ausgabe</firstterm><indexterm><primary>XML-Ausgabe</primary></indexterm> 
ist eines der wichtigsten Ausgabeformate, da sie einfach nach HTML 
konvertiert, von Programmen wie Nmap-GUIs geparst oder in Datenbanken 
importiert werden kann.</para>

<para>Die zwei verbleibenden Ausgabeformate sind die einfache 
<firstterm>grepbare Ausgabe</firstterm>,<indexterm><primary>grepbare Ausgabe</primary></indexterm> 
in der die meiste Information über einen Zielhost in einer einzigen 
Zeile enthalten ist, und 
<firstterm>sCRiPt KiDDi3 0utPUt</firstterm><indexterm><primary sortas="script kiddie Ausgabe">scR1pT kIddI3-Ausgabe</primary></indexterm> 
für Benutzer, die sich selbst als |&lt;-r4d sehen.</para>

<para>Die interaktive Ausgabe ist standardmäßig vorgegeben und verfügt 
über keine eigenen Kommandozeilenoptionen, aber die anderen vier Formate 
benutzen dieselbe Syntax. Sie erwarten ein Argument, den Namen der Datei, 
in der die Ergebnisse gespeichert werden sollen. Es können mehrere Formate 
angegeben werden, aber jedes nur einmal. Vielleicht möchten Sie z.B. eine 
normale Ausgabe für eine eigene Untersuchung speichern und eine XML-Ausgabe 
desselben Scans für eine programmbasierte Analyse. Das erreichen Sie mit 
den Optionen <option>-oX myscan.xml -oN myscan.nmap</option>. 
Auch wenn in diesem Kapitel der Kürze wegen einfache Namen wie 
<literal>myscan.xml</literal> benutzt werden, empfehlen sich im Allgemeinen 
aussagekräftigere Namen. Welche Namen Sie wählen, ist Geschmackssache, aber
ich benutze lange Namen, die das Scandatum und ein oder zwei Worte über den 
Scan enthalten, in einem Verzeichnis, das den Namen der gescannten Firma 
enthält.</para>

<para>Auch wenn diese Optionen Ergebnisse in Dateien speichern, gibt Nmap 
weiterhin die interaktive Ausgabe wie üblich auf die Standardausgabe aus. 
Zum Beispiel speichert der Befehl <command>nmap -oX myscan.xml target</command> 
XML in <filename>myscan.xml</filename> und füllt die 
Standardausgabe mit demselben interaktiven Ergebnis, wie es auch ohne Angabe von 
<option>-oX</option> der Fall wäre. Das können Sie ändern, indem Sie ein 
Minuszeichen als Argument für eines der Formate angeben. Dann schaltet 
Nmap die interaktive Ausgabe ab und gibt stattdessen Ergebnisse im 
gewünschten Format auf den Standardausgabestrom aus. Das heißt, der Befehl 
<command>nmap -oX - target</command> schreibt nur die XML-Ausgabe auf 
die Standardausgabe.<indexterm><primary>Ausgabe</primary><secondary>auf stdout mit <literal>-</literal></secondary></indexterm> 
Ernste Fehler werden weiterhin auf den normalen 
Standardfehlerstrom, stderr,<indexterm><primary>Standardfehlerausgabe</primary></indexterm> 
ausgegeben.</para>

<para>Anders als bei anderen Nmap-Argumenten ist das Leerzeichen zwischen 
dem Options-Flag für eine Ausgabedatei (z.B. <option>-oX</option>) und dem 
Dateinamen oder Minuszeichen obligatorisch. Falls Sie die Leerzeichen weglassen 
und Argumente wie z.B. <option>-oG-</option> oder <option>-oXscan.xml</option> 
angeben, erzeugt Nmap aus Gründen der Rückwärtskompatibilität Ausgabedateien 
im <emphasis>normalen Format</emphasis>, die jeweils die Namen 
<filename>G-</filename> und <filename>Xscan.xml</filename> haben.</para>

<para>All diese Argumente unterstützen 
<function>strftime</function>-ähnliche<indexterm><primary><function>strftime</function> Konvertierungen in Dateinamen</primary></indexterm> 
Umwandlungen im Dateinamen. <literal>%H</literal>, <literal>%M</literal>,
<literal>%S</literal>, <literal>%m</literal>, <literal>%d</literal>,
<literal>%y</literal> und <literal>%Y</literal> sind alle exakt gleich 
wie in <function>strftime</function>. <literal>%T</literal> entspricht 
<literal>%H%M%S</literal>, <literal>%R</literal> entspricht 
<literal>%H%M</literal> und <literal>%D</literal> entspricht 
<literal>%m%d%y</literal>. Ein <literal>%</literal>, dem ein anderes Zeichen 
folgt, ergibt nur genau dieses Zeichen (<literal>%%</literal> ergibt ein 
Prozentzeichen). Also erzeugt <option>-oX 'scan-%T-%D.xml'</option> eine 
XML-Datei in der Form <filename>scan-144840-121307.xml</filename>.</para>

<para>Nmap bietet auch Optionen zur Steuerung der Scan-Ausführlichkeit 
und Optionen, um an Ausgabedateien anzuhängen, statt sie zu überschreiben. All 
diese Optionen werden unten beschrieben.</para>

<variablelist><title>Nmap-Ausgabeformate</title>
      <varlistentry>
        <term>
        <option>-oN <replaceable>filespec</replaceable></option> (normale Ausgabe)
          <indexterm><primary><option>-oN</option></primary></indexterm>
          <indexterm><primary>normale Ausgabe</primary></indexterm></term>
        <listitem>

<para>Verlangt, dass eine <literal>normale Ausgabe</literal> in der 
angegebenen Datei gespeichert wird. Wie oben erwähnt, unterscheidet 
sich das leicht von der <literal>interaktiven Ausgabe</literal>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oX <replaceable>filespec</replaceable></option> (XML-Ausgabe)
          <indexterm><primary><option>-oX</option></primary></indexterm>
          <indexterm><primary>XML-Ausgabe</primary></indexterm></term>
        <listitem>

<para>Verlangt, dass eine <literal>XML-Ausgabe</literal> in der 
angegebenen Datei gespeichert wird. Nmap fügt eine DTD (Document 
Type Definition) hinzu, mit der XML-Parser Nmaps XML-Ausgabe 
validieren können. Diese ist vor allem für die Benutzung durch 
Programme gedacht, kann aber auch Menschen bei der Interpretation 
von Nmaps XML-Ausgabe helfen. Die DTD definiert die gültigen Elemente 
des Formats und zählt an vielen Stellen die dafür erlaubten Attribute 
und Werte auf. Die neueste Version ist immer unter 
<ulink url="https://nmap.org/data/nmap.dtd"/> verfügbar.</para>

<para>XML bietet ein stabiles Format, das man mit Software leicht 
parsen kann. Solche XML-Parser sind für alle wichtigen Programmiersprachen 
wie C/C++, Perl, Python und Java gratis verfügbar. Manche Leute haben 
sogar Anbindungen für die meisten dieser Sprachen geschrieben, um 
speziell die Ausgabe und Ausführung von Nmap zu steuern. 
Beispiele sind 
<ulink url="http://sourceforge.net/projects/nmap-scanner/">Nmap::Scanner</ulink>
<indexterm><primary>Nmap::Scanner</primary></indexterm> 
und <ulink url="http://nmapparser.wordpress.com/">Nmap::Parser</ulink>
<indexterm><primary>Nmap::Parser</primary></indexterm> 
für Perl in CPAN. In fast allen Fällen, in denen eine nicht-triviale 
Anwendung eine Schnittstelle zu Nmap benutzt, ist XML das bevorzugte 
Format.</para>

<para>Die XML-Ausgabe verweist auf ein XSL-Stylesheet, mit dem man 
die Ergebnisse als HTML formatieren kann. Am einfachsten benutzt 
man das, indem man einfach die XML-Ausgabe in einem Webbrowser wie 
Firefox oder IE lädt. Standardmäßig funktioniert das nur auf dem 
Rechner, auf dem Sie Nmap ausgeführt haben (oder auf einem, der 
ähnlich konfiguriert ist), weil der Pfad zu <filename>nmap.xsl</filename> 
darin festkodiert ist. Um portable XML-Dateien zu erzeugen, die auf 
allen mit dem Web verbundenen Rechnern als HTML angezeigt werden, 
können Sie die Optionen <option>--webxml</option> oder 
<option>--stylesheet</option> benutzen.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oS <replaceable>filespec</replaceable></option> (ScRipT KIdd|3-Ausgabe)
        <indexterm><primary><option>-oS</option></primary></indexterm>
        <indexterm><primary sortas="script kiddie Ausgabe">scR1pT kIddI3-Ausgabe</primary></indexterm></term>
        <listitem>

<para>Die Script-Kiddie-Ausgabe ist ähnlich zur interaktiven Ausgabe, mit 
dem Unterschied, dass sie nachbearbeitet ist, um die 'l33t HaXXorZ besser 
anzusprechen! Vorher haben sie wegen dessen konsistent richtiger Schreibweise 
und Buchstabierung auf Nmap herabgesehen. Humorlose Menschen sollten wissen, 
dass diese Option sich über Script Kiddies lustig macht, bevor sie mich 
dafür angreifen, dass ich <quote>ihnen helfe</quote>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
        <option>-oG <replaceable>filespec</replaceable></option> (grepbare Ausgabe)
        <indexterm><primary><option>-oG</option></primary></indexterm>
        <indexterm><primary>grepbare Ausgabe</primary></indexterm></term>
        <listitem>

<para>Dieses Ausgabeformat wird zum Schluss beschrieben, weil es als 
überholt gilt.
Das XML-Ausgabeformat ist wesentlich leistungsstärker und für erfahrene 
Benutzer fast genauso bequem. XML ist eim Standard, für den Dutzende 
hervorragender Parser verfügbar sind, während die grepbare Ausgabe nur 
mein eigener einfacher Hack ist. XML ist erweiterbar und kann neue 
Nmap-Eigenschaften unterstützen, die ich beim grepbaren Format 
aus Platzgründen oft weglassen muss.</para>

<para>Dessen ungeachtet ist die grepbare Ausgabe immer noch recht beliebt. 
Es ist ein einfaches Format, das pro Zeile einen Host auflistet und das 
mit Unix-Standardwerkzeugen wie grep, awk, cut, sed, diff und auch mit Perl 
auf triviale Weise durchsucht und geparst werden kann. Selbst ich benutze es 
für einmalige schnelle Tests in der Kommandozeile. Zum Beispiel kann man alle 
Hosts, auf denen der SSH-Port offen ist oder auf denen Solaris läuft, auf 
einfache Weise mit einem grep bestimmen, das die Hosts findet, umgeleitet in 
einen awk- oder cut-Befehl, der die gewünschten Felder ausgibt.</para>

<para>Die grepbare Ausgabe besteht aus Kommentaren (Zeilen, die mit einem 
# anfangen)<indexterm><primary>grepbare Ausgabe</primary><secondary>Kommentare in</secondary></indexterm> 
sowie aus Zielzeilen. Eine Zielzeile enthält eine Kombination aus sechs 
benannten Feldern, durch Tabulatoren getrennt, gefolgt von einem 
Doppelpunkt. Diese Felder lauten <literal>Host</literal>, 
<literal>Ports</literal>, <literal>Protocols</literal>, 
<literal>Ignored State</literal>, <literal>OS</literal>, 
<literal>Seq Index</literal>, <literal>IP ID</literal> und 
<literal>Status</literal>.</para>

<para>Das wichtigste dieser Felder ist im Allgemeinen <literal>Ports</literal>, 
das Details zu einem interessanten Port enthält. Es ist eine mit Kommata 
getrennte Liste von Port-Einträgen, wobei jeder Eintrag einen interessanten 
Port darstellt und aus sieben mit Schrägstrichen (/) getrennten Unterfeldern 
besteht. Diese Unterfelder lauten: <literal>Port number</literal>, 
<literal>State</literal>, <literal>Protocol</literal>,
<literal>Owner</literal>, <literal>Service</literal>, 
<literal>SunRPC info</literal> und <literal>Version info</literal>.</para>

<para>Wie bei der XML-Ausgabe kann diese Manpage auch hier nicht das 
vollständige Format dokumentieren. Eine detailliertere Betrachtung des 
grepbaren Ausgabeformats in Nmap finden Sie  
<man>from <ulink url="https://nmap.org/book/output-formats-grepable-output.html" />.</man>
<notman>in <xref linkend="output-formats-grepable-output"/>.</notman>
</para>
        </listitem>
      </varlistentry>

     <varlistentry>
        <term>
        <option>-oA <replaceable>basename</replaceable></option> (Ausgabe in allen Formaten)
           <indexterm significance="preferred"><primary><option>-oA</option></primary></indexterm></term>
       <listitem>

<para>
Aus Gründen der Bequemlichkeit können Sie Scan-Ergebnisse mit 
<option>-oA <replaceable>basename</replaceable></option> gleichzeitig 
in normalem, in XML- und in grepbarem Format speichern. Sie werden 
jeweils in
<filename><replaceable>basename</replaceable>.nmap</filename>,
<filename><replaceable>basename</replaceable>.xml</filename> und
<filename><replaceable>basename</replaceable>.gnmap</filename>,
gespeichert. 
Wie in den meisten Programmen können Sie vor den Dateinamen ein Präfix
mit einem Verzeichnispfad darin setzen, z.B.
<filename>~/nmaplogs/foocorp/</filename> unter Unix oder
<filename>c:\hacking\sco</filename> unter Windows.</para>
        </listitem>
      </varlistentry>

   </variablelist>

    <variablelist><title>Optionen für Ausführlichkeit und Debugging</title>
      <varlistentry>
        <term>
          <option>-v</option> (größere Ausführlichkeit)
          <indexterm><primary><option>-v</option></primary></indexterm>
          <indexterm><primary>Ausführlichkeit</primary></indexterm>
        </term>
        <listitem>

<para>Erhöht die Ausführlichkeit, d.h. Nmap gibt mehr Informationen 
über den laufenden Scan aus. Offene Ports werden angezeigt, direkt 
nachdem sie gefunden werden, und es werden Schätzungen für die Dauer 
bis zur Fertigstellung angegeben, falls Nmap meint, dass ein Scan mehr 
als ein paar Minuten benötigt. Noch mehr Information erhalten Sie, 
wenn Sie diese Option zweimal oder noch öfter angeben.
<indexterm><primary><option>-v</option></primary><secondary>mehrmals angeben</secondary></indexterm>
</para>

<para>Die meisten Änderungen betreffen 
nur die interaktive Ausgabe, manche betreffen auch die normale und 
die Script-Kiddie-Ausgabe. Die anderen Ausgabearten sind für die 
Weiterverarbeitung durch Maschinen gedacht, d.h. Nmap kann in diesen 
Formaten standardmäßig alle Details angeben, ohne einen menschlichen 
Leser zu ermüden. Allerdings gibt es in den anderen Modi einige Änderungen, 
bei denen die Ausgabegröße durch Weglassen einiger Details erheblich 
reduziert werden kann. Zum Beispiel wird eine Kommentarzeile in der 
grepbaren Ausgabe, die eine Liste aller gescannten Ports enthält, nur 
im wortreichen Modus ausgegeben, weil sie ziemlich lang werden kann.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-d [level]</option> (erhöhe oder setze Debugging-Stufe)
        <indexterm><primary><option>-d</option></primary></indexterm>
        <indexterm><primary>Debugging</primary></indexterm>
        </term>
        <listitem>

<para>Wenn nicht einmal der wortreiche Modus genug Daten für Sie liefert, 
können Sie beim Debugging noch wesentlich mehr davon bekommen! Wie bei der 
Ausführlichkeits-Option (<option>-v</option>) wird auch das Debugging mit einem 
Kommandozeilen-Flag eingeschaltet (<option>-d</option>), und die Debug-Stufe 
kann durch eine mehrfache Angabe gesteigert 
werden.<indexterm><primary><option>-d</option></primary><secondary>mehrmals angeben</secondary></indexterm>
Alternativ dazu können Sie eine Debug-Stufe auch als Argument an 
<option>-d</option> übergeben. So setzt z.B. <option>-d9</option> die 
Stufe neun. Das ist die höchste verfügbare Stufe, die Tausende 
von Zeilen produziert, sofern Sie keinen sehr einfachen Scan mit sehr wenigen Ports 
und Zielen ausführen.</para>

<para>Eine Debugging-Ausgabe ist sinnvoll, wenn Sie einen Fehler in Nmap 
vermuten oder wenn Sie einfach verwirrt darüber sind, was und warum Nmap 
etwas genau macht. Da dieses Merkmal überwiegend für Entwickler gedacht ist, 
sind Debug-Zeilen nicht immer selbsterklärend. Vielleicht bekommen Sie 
etwas wie: <computeroutput>Timeout
vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987
rttvar: 14987 to: 100000</computeroutput>. Wenn Sie eine Zeile nicht 
verstehen, ist Ihre einzige Zuflucht, sie zu ignorieren, im Quellcode 
nachzuschauen oder Hilfe auf der Entwicklerliste 
(<citetitle>nmap-dev</citetitle>).<indexterm><primary><citetitle>nmap-dev</citetitle> Mailingliste</primary></indexterm> 
zu erfragen. 
Manche Einträge sind selbsterklärend, aber je höher die Debug-Stufe ist, 
desto obskurer werden die Meldungen.</para>

        </listitem>
      </varlistentry>

<varlistentry>
 <term>
  <option>--reason</option> (Gründe für Host- und Portzustände)
   <indexterm><primary><option>--reason</option></primary></indexterm>
   <indexterm><primary>Angabe von Gründen</primary><see><option>--reason</option></see></indexterm>
 </term>
 <listitem>

<para>
Gibt die Gründe an, warum ein Port auf einen bestimmten Zustand gesetzt 
wurde und warum ein Host als ein- oder ausgeschaltet betrachtet wird. 
Diese Option zeigt die Paketart an, die einen Port- oder Hostzustand 
ermittelt hat, z.B. ein <literal>RST</literal>-Paket von einem 
geschlossenen Port oder ein Echo Reply von einem eingeschalteten Host. 
Die Information, die Nmap angeben kann, hängt von der Art des Scans 
oder Pings ab. Der SYN-Scan und der SYN-Ping (<option>-sS</option> und 
<option>-PS</option>) sind sehr detailliert, aber der TCP-Connect-Scan 
(<option>-sT</option>) wird durch die Implementierung des 
<function>connect</function>-Systemaufrufs beschränkt. Dieses Merkmal 
wird automatisch von der Debug-Option 
(<option>-d</option>)<indexterm><primary><option>--reason</option></primary><secondary>impliziert von <option>-d</option></secondary></indexterm>
aktiviert, und die Ergebnisse werden auch dann in XML-Protokolldateien 
gespeichert, wenn diese Option gar nicht angegeben wird.

</para>
</listitem>
</varlistentry>

      <varlistentry>
        <term>
          <option>--stats-every <replaceable>time</replaceable></option> (periodische Timing-Statistik ausgeben)
          <indexterm><primary><option>--stats-every</option></primary></indexterm>
        </term>
        <listitem>
<para>
Gibt periodisch eine Timing-Statusmeldung nach einem Intervall der 
Länge <replaceable>time</replaceable> aus. Dabei kann diese Zeitangabe 
beschrieben werden, wie in <xref linkend="man-performance"/> dargestellt, 
d.h. Sie können z.B. <command>--stats-every 10s</command> benutzen, um 
alle 10 Sekunden eine Statusaktualisierung zu erhalten. Diese erscheint 
in der interaktiven Ausgabe (auf dem Bildschirm) und in der XML-Ausgabe.
</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--packet-trace</option> (gesendete und empfangene Pakete und Daten mitverfolgen)
          <indexterm><primary><option>--packet-trace</option></primary></indexterm>
        </term>
        <listitem>

<para>Bewirkt, dass Nmap für jedes gesendete oder empfangene 
Paket eine Zusammenfassung ausgibt. Das wird bei der Fehlersuche 
oft gemacht, ist aber auch eine willkommene Methode für Neulinge, um genau 
zu verstehen, was Nmap unter der Oberfläche macht. Um zu verhindern, dass 
Tausende von Zeilen ausgegeben werden, möchten Sie vielleicht eine 
beschränkte Anzahl zu scannender Ports angeben, z.B. mit 
<option>-p20-30</option>. Wenn Sie nur wissen möchten, was 
im Versionserkennungssubsystem vor sich geht, benutzen Sie stattdessen 
<option>--version-trace</option>. Wenn Sie nur an einer Script-Mitverfolgung 
interessiert sind, geben Sie <option>--script-trace</option> an. 
Mit <option>--packet-trace</option> erhalten Sie all das zusammen.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--open</option> (zeige nur offene (oder möglicherweise offene) Ports an)
        <indexterm><primary><option>--open</option></primary></indexterm>
        </term>
        <listitem>

<para>Manchmal interessieren Sie sich nur für Ports, mit denen Sie tatsächlich 
eine Verbindung herstellen können (<literal>offene</literal> Ports), und 
wollen Ihre Ergebnisse nicht mit anderen Ports überhäufen, die 
<literal>geschlossen</literal>, <literal>gefiltert</literal> und 
<literal>geschlossen|gefiltert</literal> sind. Die Ausgabe wird normalerweise 
nach dem Scan mit Werkzeugen wie <application>grep</application>, 
<application>awk</application> und <application>Perl</application> 
angepasst, aber dieses Merkmal wurde auf überwältigend vielfachen 
Wunsch hinzugefügt. Geben Sie <option>--open</option> an, um nur 
<literal>offene</literal>, <literal>offene|gefilterte</literal> und 
<literal>ungefilterte</literal> Ports zu sehen. Diese drei Ports werden 
ganz wie gewöhnlich behandelt, d.h. dass <literal>offen|gefiltert</literal> 
und <literal>ungefiltert</literal> in Zählungen zusammengefasst werden, 
wenn es eine sehr große Anzahl davon gibt.
</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--iflist</option> (liste Schnittstellen und Routen auf)
        <indexterm><primary><option>--iflist</option></primary></indexterm>
        </term><listitem>
<para>Gibt die Liste der Schnittstellen und Systemrouten aus, die Nmap 
entdeckt hat. Das ist hilfreich bei der Fehlersuche bei Routing-Problemen 
oder fehlerhaften Gerätebeschreibungen (z.B. wenn Nmap eine PPP-Verbindung 
als Ethernet behandelt).</para> 
        </listitem> </varlistentry>

      <varlistentry>
        <term>
          <option>--log-errors</option> (protokolliere Fehler/Warnungen in eine Datei im normalen Ausgabeformat)
          <indexterm significance="preferred"><primary><option>--log-errors</option></primary></indexterm>
        </term>
        <listitem>

<para>Von Nmap ausgegebene Warnungen und Fehlermeldungen gehen normalerweise 
nur auf den Bildschirm (interaktive Ausgabe), was die Ordnung aller 
Ausgabedateien im normalen Format (üblicherweise mit <option>-oN</option> 
angegeben) nicht stört. Wenn Sie diese Meldungen in den angegebenen 
normalen Ausgabedateien wirklich sehen möchten, können Sie diese Option 
benutzen. Diese ist dann hilfreich, wenn Sie die interaktive Ausgabe 
nicht übersehen oder wenn Sie Fehler beim Debugging speichern möchten.
Die Fehlermeldungen und Warnungen werden auch im interaktiven Modus 
weiterhin erscheinen. Bei den meisten Fehlern bezüglich schlechter 
Kommandozeilenargumente wird das nicht funktionieren, da Nmap seine 
Ausgabedateien eventuell noch nicht initialisiert hat. 
Außerdem benutzen einige Nmap-Fehlermeldungen und -Warnungen ein anderes 
System, das diese Option noch nicht unterstützt.</para>

<para>Eine Alternative zu <option>--log-errors</option> ist die Umleitung 
der interaktiven Ausgabe (inklusive des Standardfehlerstroms) in eine 
Datei. Die meisten Unix-Shells machen einem diesen Ansatz leicht, aber 
auf Windows kann er schwierig sein.</para>

        </listitem>
      </varlistentry>

   </variablelist>

   <variablelist><title>Weitere Ausgabeoptionen</title>

      <varlistentry>
        <term>
          <option>--append-output</option> (an Ausgabedateien hinzufügen, statt sie zu überschreiben)
           <indexterm><primary><option>--append-output</option></primary></indexterm>
        </term>
        <listitem>

<para>Wenn Sie einen Dateinamen für ein Ausgabeformat wie z.B. 
<option>-oX</option> oder <option>-oN</option> angeben, wird diese 
Datei standardmäßig überschrieben. 
Wenn Sie deren Inhalt lieber behalten und die neuen Ergebnisse anhängen 
möchten, benutzen Sie die Option <option>--append-output</option>. 
Dann wird bei allen angegebenen Ausgabedateinamen dieses Nmap-Aufrufs 
an die Dateien angehängt, statt sie zu überschreiben. Mit XML-Scandaten 
(<option>-oX</option>) funktioniert das nicht so gut, da die erzeugte Datei 
im Allgemeinen nicht mehr sauber geparst wird, es sei denn, Sie reparieren sie 
von Hand.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--resume <replaceable>filename</replaceable></option> (abgebrochenen Scan fortsetzen)
          <indexterm><primary><option>--resume</option></primary></indexterm>
          <indexterm><primary>Scans fortsetzen</primary></indexterm>
        </term>
        <listitem>

<para>Manche umfangreichen Nmap-Läufe benötigen sehr viel Zeit &#x02013; in der 
Größenordnung von Tagen. Solche Scans laufen nicht immer bis zum Ende. 
Vielleicht gibt es Beschränkungen, die verhindern, dass man Nmap während 
der normalen Arbeitszeit ausführen kann, das Netzwerk könnte abstürzen, 
der Rechner, auf dem Nmap läuft, könnte einen geplanten oder ungeplanten 
Neustart erleben oder Nmap selbst könnte abstürzen. Der Administrator, 
der Nmap ausführt, könnte es auch aus irgendeinem anderen Grund abbrechen, 
indem er <keycap>ctrl-C</keycap> eingibt. Und den ganzen Scan von vorne neu 
zu starten, ist eventuell nicht wünschenswert. Wenn ein normales 
(<option>-oN</option>) oder ein grepbares (<option>-oG</option>) Protokoll 
geführt wurde, kann der Benutzer Nmap jedoch bitten, den Scan bei dem Ziel 
fortzusetzen, an dem es beim Abbruch gearbeitet hat. Geben Sie einfach die 
Option <option>--resume</option> an und übergeben Sie die normale/grepbare 
Ausgabedatei als Argument. Andere Argumente sind nicht erlaubt, da Nmap 
die Ausgabedatei parst, um dieselben Argumente zu benutzen, die zuvor 
benutzt wurden. Rufen Sie Nmap einfach als <command>nmap --resume 
<replaceable>logfilename</replaceable></command> auf. Nmap fügt neue 
Ergebnisse dann an die Datendateien an, die im vorherigen Lauf angegeben 
wurden. Diese Fortsetzung funktioniert nicht aus XML-Ausgabedateien, 
weil es schwierig wäre, die zwei Läufe in 
einer gültigen XML-Datei zu kombinieren.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--stylesheet <replaceable>path or URL</replaceable></option> (setze XSL-Stylesheet, um eine XML-Ausgabe zu transformieren)
          <indexterm significance="preferred"><primary><option>--stylesheet</option></primary></indexterm>
        </term>
        <listitem>

<para>Die Nmap-Distribution enthält ein 
XSL-Stylesheet<indexterm><primary>XSL</primary></indexterm>
<indexterm><primary>Stylesheet</primary></indexterm>
namens <filename>nmap.xsl</filename>
<indexterm><primary><filename>nmap.xsl</filename></primary></indexterm>
zum Betrachten oder Übersetzen einer XML-Ausgabe nach HTML. 
<indexterm><primary>HTML aus XML-Ausgabe</primary></indexterm>
Die XML-Ausgabe enthält eine <literal>xml-stylesheet</literal>-Anweisung, 
die auf <filename>nmap.xml</filename> an der Stelle verweist, wo es von Nmap 
ursprünglich installiert wurde (oder im aktuellen Arbeitsverzeichnis 
unter Windows). Laden Sie einfach Nmaps XML-Ausgabe in einem modernen 
Webbrowser, und er sollte <filename>nmap.xsl</filename> im Dateisystem 
finden und benutzen, um die Ergebnisse darzustellen. Wenn Sie ein anderes 
Stylesheet benutzen möchten, geben Sie es als Argument für 
<option>--stylesheet</option> an. Dabei müssen Sie den vollständigen 
Pfadnamen oder die URL angeben. Sehr häufig wird 
<option>--stylesheet https://nmap.org/data/nmap.xsl</option> benutzt. 
Das sagt einem Browser, dass er die neueste Version des Stylesheets 
von Nmap.Org laden soll. Die Option <option>--webxml</option> 
macht dasselbe, verlangt aber weniger Tipparbeit und Merkfähigkeit. 
Wenn man das XSL von Nmap.Org lädt, wird es einfacher, die Ergebnisse 
auf einem Rechner anzuschauen, auf dem kein Nmap (und folglich auch kein 
<filename>nmap.xsl</filename>) installiert ist. Daher ist die URL oft 
nützlicher, doch aus Datenschutzgründen wird standardmäßig das 
<filename>nmap.xsl</filename> im lokalen Dateisystem benutzt.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--webxml</option> (lade Stylesheet von Nmap.Org)
          <indexterm significance="preferred"><primary><option>--webxml</option></primary></indexterm>
        </term>
        <listitem>

<para>Diese bequeme Option ist nur ein Alias für
<option significance="preferred">--stylesheet https://nmap.org/data/nmap.xsl</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option significance="preferred">--no-stylesheet</option> (lasse XSL-Stylesheet-Deklaration im XML weg)
          <indexterm significance="preferred"><primary><option>--no-stylesheet</option></primary></indexterm>
        </term>
        <listitem>

<para>Geben Sie diese Option an, wenn Nmap in seiner XML-Ausgabe auf 
keinerlei XSL-Stylesheet verweisen soll. Die 
<literal>xml-stylesheet</literal>-Anweisung wird dann weggelassen.</para>
        </listitem>
      </varlistentry>

    </variablelist>
    <indexterm class="endofrange" startref="man-output-indexterm"/>
  </refsect1>

  <refsect1 id='man-misc-options'>
    <title>Verschiedene Optionen</title>
    <para>Dieser Abschnitt beschreibt einige wichtige (und weniger wichtige) 
    Optionen, für die es keinen anderen richtig passenden Ort gibt.</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>-6</option> (schaltet IPv6-Scans ein)
          <indexterm significance="preferred"><primary><option>-6</option></primary></indexterm>
          <indexterm><primary>IPv6</primary></indexterm>
        </term>
        <listitem>

<para>Seit 2002 unterstützt Nmap bei seinen beliebtesten Features IPv6. 
Insbesondere das Ping-Scanning (nur für TCP), Connect-Scanning und die 
Versionserkennung unterstützen IPv6. Die Befehlssyntax ist die 
übliche, nur dass man auch die Option <option>-6</option> angibt. 
Natürlich müssen Sie die IPv6-Syntax angeben, wenn Sie eine Adresse 
statt eines Hostnamens angeben. Eine Adresse könnte wie folgt aussehen:
<literal>3ffe:7501:4819:2000:210:f3ff:fe03:14d0</literal>, d.h. es 
empfehlen sich Hostnamen. Die Ausgabe sieht genauso aus 
wie üblich. Nur die IPv6-Adresse in der Zeile der 
<quote>interessanten Ports</quote> deutet auf IPv6.</para>

<para>Zwar hat IPv6 die Welt nicht gerade im Sturm erobert, aber in 
einigen (besonders asiatischen) Ländern wird es stark eingesetzt, und von 
den meisten modernen Betriebssystemen wird es unterstützt. 
Um Nmap mit IPv6 zu benutzen, müssen sowohl die Quelle als auch das 
Ziel Ihres Scans für IPv6 konfiguriert sein. Falls Ihnen Ihr ISP 
(so wie die meisten) keine IPv6-Adressen bereitstellt, gibt es frei 
verfügbare sogenannte 
Tunnel-Broker,<indexterm><primary>IPv6-Tunnel-Broker</primary></indexterm>
die mit Nmap funktionieren. Weitere Tunnel-Broker sind 
<ulink url="http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers">in Wikipedia aufgelistet</ulink>. 
Ein weiterer freier Ansatz sind 6to4-Tunnels.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-A</option> (aggressive Scan-Optionen)
          <indexterm significance="preferred"><primary><option>-A</option></primary></indexterm>
        </term>
        <listitem>

<para>Diese Option schaltet zusätzlich erweiterte und aggressive Optionen 
ein. Ich habe noch nicht entschieden, wofür sie genau steht. Im Moment schaltet 
sie die Betriebssystemerkennung (<option>-O</option>), 
die Versionserkennung (<option>-sV</option>), 
das Scannen mit Scripts (<option>-sC</option>) und 
traceroute (<option>--traceroute</option>) ein.
<indexterm><primary><option>-A</option></primary><secondary>eingeschaltete Merkmale von</secondary></indexterm>
In der Zukunft kommen vielleicht noch weitere Eigenschaften hinzu. 
Ziel ist es, einen umfassenden Satz von Scan-Optionen zu aktivieren, 
ohne dass man sich viele Flags merken muss. Weil aber das scriptbasierte 
Scannen mit dem Standardsatz als aufdringlich betrachtet wird, sollten 
Sie <option>-A</option> nicht ohne Genehmigung auf Zielnetzwerke loslassen. 
Diese Option aktiviert nur Eigenschaften, aber keine Optionen für das 
Timing (z.B. <option>-T4</option>) oder die Ausführlichkeit 
(<option>-v</option>), die Sie eventuell auch benutzen möchten.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--datadir <replaceable>directoryname</replaceable></option> (gibt benutzerdefinierten Ort für Nmap-Datendateien an)
          <indexterm significance="preferred"><primary><option>--datadir</option></primary></indexterm>
        </term>
        <listitem>

<!-- DG: siehe data-files.xml (UID) -->
<para>Nmap erhält einige spezielle Daten zur Laufzeit aus Dateien namens 
<filename>nmap-service-probes</filename>,
<filename>nmap-services</filename>,
<filename>nmap-protocols</filename>,
<filename>nmap-rpc</filename>,
<filename>nmap-mac-prefixes</filename> und
<filename>nmap-os-db</filename>. 
Falls der Ort einer dieser Dateien angegeben wurde (mit den Optionen 
<option>--servicedb</option> oder <option>--versiondb</option>), 
wird dieser Ort für diese Datei benutzt. Danach sucht Nmap diese 
Dateien im Verzeichnis, das mit der Option <option>--datadir</option> 
angegeben wurde (sofern vorhanden). Dateien, die dort nicht gefunden 
werden, werden in einem Verzeichnis gesucht, das durch die 
Umgebungsvariable NMAPDIR angegeben 
wird<indexterm><primary><envar>NMAPDIR</envar> Umgebungsvariable</primary></indexterm>. 
Danach kommt 
<filename>~/.nmap</filename><indexterm><primary sortas="nmap Verzeichnis"><filename>.nmap</filename> Verzeichnis</primary></indexterm> 
für echte und effektive UIDs (nur bei POSIX-Systemen) oder der Ort 
des ausführbaren Nmap-Programms (nur unter Win32) und dann ein bei 
der Kompilierung angegebener Ort wie z.B. 
<filename>/usr/local/share/nmap</filename> oder 
<filename>/usr/share/nmap</filename>. Als letzte Rettung sucht Nmap 
im aktuellen Arbeitsverzeichnis.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--servicedb <replaceable>services file</replaceable></option> (gibt benutzerdefinierte Dienstedatei an)
          <indexterm significance="preferred"><primary><option>--servicedb</option></primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, die angegebene Dienstedatei zu benutzen statt 
der Datendatei <filename>nmap-services</filename>, die in Nmap enthalten 
ist. Bei dieser Option wird außerdem auch ein schneller Scan 
(<option>-F</option>) benutzt. Weitere Details zu Nmaps Datendateien 
finden Sie in der Beschreibung zu <option>--datadir</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--versiondb <replaceable>service probes file</replaceable></option> (gibt benutzerdefinierte Dienstepakete an)
          <indexterm significance="preferred"><primary><option>--versiondb</option></primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, die angegebene Dienstepaketedatei zu benutzen statt 
der Datendatei <filename>nmap-service-probes</filename>, die in Nmap enthalten 
ist. Weitere Details zu Nmaps Datendateien 
finden Sie in der Beschreibung zu <option>--datadir</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--send-eth</option> (sendet rohe Ethernet-Pakete)
          <indexterm significance="preferred"><primary><option>--send-eth</option></primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, Pakete auf der rohen Ethernet-(Datenlink-)Schicht 
zu schicken, statt auf der höheren IP-(Netzwerk-)Schicht. 
Nmap wählt standardmäßig diejenige, die im Allgemeinen die beste für 
die gegebene Plattform ist. Rohe Sockets 
(IP-Schicht)<indexterm><primary>rohe Sockets</primary></indexterm> 
sind im Allgemeinen auf Unix-Rechnern am effizientesten, während 
unter Windows Ethernet-Rahmen benötigt werden, da Microsoft keine 
rohen Sockets unterstützt. Trotz dieser Option benutzt Nmap rohe 
IP-Pakete unter Unix, wenn es keine andere Wahl hat 
(z.B. Verbindungen über etwas anderes als Ethernet).</para>

        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--send-ip</option> (sendet auf der rohen IP-Schicht)
          <indexterm significance="preferred"><primary><option>--send-ip</option></primary></indexterm>
        </term>
        <listitem>

<para>Verlangt von Nmap, Pakete über rohe IP-Sockets zu senden, statt 
über low-level Ethernet-Rahmen. Diese Option ist das Komplement zur 
weiter oben beschriebenen Option <option>--send-eth</option>.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--privileged</option> (nimmt an, dass der Benutzer alle Sonderrechte genießt)
          <indexterm significance="preferred"><primary><option>--privileged</option></primary></indexterm>
        </term>
        <listitem>

<para>Sagt Nmap, dass es davon ausgehen soll, dass es über genügend Rechte 
verfügt, um über rohe Sockets zu senden, Paket-Sniffing und ähnliche 
Operationen zu betreiben, die auf Unix-Rechnern normalerweise 
root-Rechte<indexterm><primary>Benutzer mit Sonderrechten</primary></indexterm><indexterm><primary>autorisierte Benutzer</primary><see>Benutzer mit Sonderrechten</see></indexterm> 
benötigen. Standardmäßig terminiert Nmap, wenn solche Operationen 
verlangt werden, aber <function>geteuid</function> nicht null ist. 
<option>--privileged</option> ist nützlich bei Linux-Kernel-Capabilities 
und ähnlichen Systemen, die so konfiguriert sein können, dass sie 
Benutzern ohne Sonderrechte erlauben, rohe Paket-Scans durchzuführen. 
Vergewissern Sie sich, dass Sie diese Option vor weiteren Optionen 
angeben, die Sonderrechte benötigen (SYN-Scan, Betriebssystemerkennung 
usw.). Als äquivalente Alternative zur Option <option>--privileged</option> 
kann die Umgebungsvariable 
<envar>NMAP_PRIVILEGED</envar><indexterm><primary><envar>NMAP_PRIVILEGED</envar> Umgebungsvariable</primary></indexterm> 
gesetzt werden.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>--unprivileged</option> (nimmt an, dass der Benutzer keine Sonderrechte für rohe Sockets genießt)
          <indexterm significance="preferred"><primary><option>--unprivileged</option></primary></indexterm>
          <indexterm><primary>Benutzer ohne Sonderrechte</primary></indexterm>
        </term>
        <listitem>

<para>Diese Option ist das Gegenteil von <option>--privileged</option>. 
Sie sagt Nmap, dass es den Benutzer so behandeln soll, als genösse er keine 
Sonderrechte für rohe Sockets und Sniffing. Das ist nützlich beim 
Testen, Debugging oder falls die Möglichkeiten des rohen Netzwerkzugriffs 
auf Ihrem Betriebssystem vorübergehend irgendwie defekt sind. 
Als äquivalente Alternative zur Option <option>--unprivileged</option> 
kann die Umgebungsvariable 
<envar>NMAP_UNPRIVILEGED</envar><indexterm><primary><envar>NMAP_UNPRIVILEGED</envar> Umgebungsvariable</primary></indexterm>
gesetzt werden.</para>

        </listitem>
      </varlistentry>

      <varlistentry>
	 <term>
	 <option>--release-memory</option> (gibt Speicher vor Terminierung frei)
	 <indexterm><primary><option>--release-memory</option></primary></indexterm>
         </term>
         <listitem>

<para>Diese Option ist nur bei der Suche nach Speicherlecks nützlich. 
Sie bewirkt, dass Nmap den von ihm belegten Speicher direkt vor seiner 
Terminierung freigibt, damit man echte Speicherlecks einfacher finden kann. 
Normalerweise macht Nmap das nicht, weil es das Betriebssystem ohnehin 
macht, wenn es den Prozess terminiert.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-V</option>; <option>--version</option> (gibt Versionsnummer aus)
          <indexterm><primary><option>-V</option></primary></indexterm>
          <indexterm><primary><option>--version</option></primary></indexterm>
        </term>
        <listitem>
          <para>Gibt Nmaps Versionsnummer aus und terminiert.</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>-h</option>; <option>--help</option> (gibt zusammengefasste Hilfeseite aus)
          <indexterm><primary><option>-h</option></primary></indexterm>
          <indexterm><primary><option>--help</option></primary></indexterm>
        </term>
        <listitem>
<para>Gibt eine kurze Hilfeseite mit den am meisten benutzten 
Optionen aus. Sie kommt auch dann, wenn man Nmap ganz ohne Argumente 
startet.</para>
        </listitem>
      </varlistentry>

    </variablelist>
  </refsect1>


  <refsect1 id='man-runtime-interaction'>
    <title>Laufzeit-Interaktion<indexterm><primary>Laufzeitinteraktion</primary></indexterm></title>

<para>Während der Ausführung von Nmap wird jeder Tastendruck abgefangen. 
Das ermöglicht Ihnen, mit dem Programm zu interagieren, ohne es abzubrechen 
und neu zu starten. Bestimmte Spezialtasten ändern Optionen, während alle 
anderen Tasten eine Statusmeldung über den Scan ausgeben. Konvention ist, 
dass der Ausgabeumfang durch 
<emphasis>Kleinbuchstaben vergrößert</emphasis> und durch 
<emphasis>Großbuchstaben verkleinert</emphasis> wird. 
Sie können auch &#x02018;<emphasis>?</emphasis>&#x02019; drücken, 
um eine Hilfe zu erhalten.</para>

    <variablelist>
      <varlistentry>
        <term>
          <option>v</option> / <option>V</option>
        </term>
        <listitem>
          <para>Vergrößert/verkleinert die Ausführlichkeit</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>d</option> / <option>D</option>
        </term>
        <listitem>
          <para>Vergrößert/verkleinert die Debugging-Stufe</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>p</option> / <option>P</option>
        </term>
        <listitem>
          <para>Schaltet Paketverfolgung ein/aus</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          <option>?</option>
        </term>
        <listitem>
          <para>Gibt einen Hilfeschirm zur Laufzeit-Interaktion aus</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>
          Alles andere
        </term>
        <listitem>
          <para>Gibt eine Statusmeldung wie die folgende aus:</para>
          <para>Stats: 0:00:08 elapsed; 111 hosts completed (5 up),
          5 undergoing Service Scan</para>
          <para>Service scan Timing: About 28.00% done; ETC: 16:18
          (0:00:15 remaining)</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='man-examples'>
    <title>Beispiele</title>

<para>Hier sind einige Anwendungsbeispiele für Nmap, von einfachen und 
routinemäßigen bis zu etwas komplexeren und esoterischen. Um die Sache 
etwas konkreter zu machen, werden einige echte IP-Adressen und Domainnamen 
benutzt. Diese sollten Sie mit Adressen/Namen aus  
<emphasis>Ihrem eigenen Netzwerk</emphasis> ersetzen. Auch wenn ich nicht 
der Meinung bin, dass Port-Scans anderer Netzwerke illegal sind oder sein 
sollten, mögen manche Netzwerkadministratoren es nicht, wenn ihre Netzwerke 
unverlangt gescannt werden, und könnten sich beschweren. Der beste Ansatz 
ist der, sich zuerst eine Genehmigung zu verschaffen.</para>

<para>Zu Testzwecken haben Sie die Genehmigung, den Host 
<literal>scanme.nmap.org</literal> zu scannen. Diese Genehmigung gilt 
nur für das Scannen mit Nmap und nicht für das Testen von Exploits oder 
Denial-of-Service-Angriffen. Bitte führen Sie nicht mehr als ein Dutzend 
Scans pro Tag auf diesem Host durch, um die Bandbreite nicht zu erschöpfen. 
Falls diese freie Dienstleistung missbraucht wird, wird sie abgeschaltet, 
und Nmap wird dann <computeroutput>Failed to resolve given hostname/IP:
scanme.nmap.org</computeroutput> ausgeben. Diese Genehmigung gilt auch 
für die Hosts <literal>scanme2.nmap.org</literal>, 
<literal>scanme3.nmap.org</literal> usw., auch wenn diese Hosts noch 
nicht existieren.</para>

    <para>
      <indexterm><primary><option>-v</option></primary><secondary>Beispiel</secondary></indexterm>
      <command>nmap -v scanme.nmap.org</command>
    </para>
<para>Diese Option scannt alle reservierten TCP-Ports auf dem Rechner 
<literal>scanme.nmap.org</literal>. Die Option <option>-v</option> 
schaltet den ausführlichen Modus an.</para>
<para>
      <indexterm><primary><option>-sS</option></primary><secondary>Beispiel</secondary></indexterm>
      <indexterm><primary><option>-O</option></primary><secondary>Beispiel</secondary></indexterm>
      <command>nmap -sS -O scanme.nmap.org/24</command>
    </para>
<para>Startet einen Stealth-SYN-Scan auf allen aktiven Rechnern unter 
den 256 IPs im Netzwerk der Größe <quote>Klasse C</quote>, in dem 
Scanme sitzt. Es versucht auch herauszufinden, welches Betriebssystem 
auf jedem aktiven Host läuft. Wegen des SYN-Scans und der 
Betriebssystemerkennung sind dazu root-Rechte notwendig.</para>
    <para>
      <indexterm><primary><option>-p</option></primary><secondary>Beispiel</secondary></indexterm>
      <command>nmap -sV -p 22,53,110,143,4564
      198.116.0-255.1-127</command>
    </para>

<para>Startet eine Host-Auflistung und einen TCP-Scan in der ersten Hälfte 
von allen 255 möglichen acht-Bit-Unternetzen im Klasse-B-Adressraum 198.116. 
Dabei wird getestet, ob die Systeme SSH, DNS, POP3 oder IMAP auf ihren 
Standardports laufen haben oder irgendetwas auf Port 4564. Falls einer 
dieser Ports offen ist, wird eine Versionserkennung benutzt, um festzustellen,  
welche Anwendung darauf läuft.</para>

    <para>
      <indexterm><primary><option>-iR</option></primary><secondary>Beispiel</secondary></indexterm>
      <indexterm><primary><option>-PN</option></primary><secondary>Beispiel</secondary></indexterm>
      <command>nmap -v -iR 100000 -PN -p 80</command>
    </para>

<para>Verlangt von Nmap, 100.000 Hosts zufällig auszuwählen und sie nach 
Webservern (Port 80) zu scannen. Eine Host-Auflistung wird mit 
<option>-PN</option> unterbunden, weil es Verschwendung ist, zuerst eine 
Reihe von Testpaketen zu senden, um festzustellen, ob ein Host aktiv ist, 
wenn Sie auf jedem Zielhost ohnehin nur einen Port testen.</para>

    <para>
      <indexterm><primary><option>-oX</option></primary><secondary>Beispiel</secondary></indexterm>
      <indexterm><primary><option>-oG</option></primary><secondary>Beispiel</secondary></indexterm>
      <command>nmap -PN -p80 -oX logs/pb-port80scan.xml -oG
      logs/pb-port80scan.gnmap 216.163.128.20/20</command>
    </para>
<para>Das scannt 4096 IPs nach Webservern (ohne sie anzupingen) 
und speichert die Ausgabe im grepbaren und im XML-Format.</para>

  </refsect1>

<refsect1 id='man-book'>
<title>Das Nmap-Buch</title>
<!-- This paragraph is a bit jumbled together for man page rendering purposes, where extra newlines were causing problems -->
<para>Auch wenn dieser Reference Guide alle wesentlichen 
Nmap-Optionen genau beschreibt, kann er nicht vollständig zeigen, 
wie man diese Features anwendet, um Aufgaben der realen Welt zu lösen. 
Zu diesem Zweck haben wir das Buch 
<notweb><citetitle>Nmap Network Scanning: The Official
Nmap Project Guide to Network Discovery and Security
Scanning</citetitle>.</notweb><web><ulink url="https://nmap.org/book/"><citetitle>Nmap Network Scanning: The Official
Nmap Project Guide to Network Discovery and Security
Scanning</citetitle></ulink> veröffentlicht.</web> 
Es zeigt, wie man Firewalls und Intrusion Detection-Systeme unterwandert, 
die Performance von Nmap optimiert, und wie man häufige Netzwerkaufgaben 
mit der Nmap Scripting Engine automatisiert. Außerdem enthält es Tipps 
und Anleitungen für häufige Nmap-Aufgaben wie die Netzwerkinventarisierung, 
Penetrationstests, die Erkennung schurkischer Wireless Access Points und
das Verhindern von Wurmausbrüchen im Netzwerk. 
Dabei zeigt es mit Beispielen und Diagrammen, wie die Kommunikation 
auf der Leitung aussieht. Mehr als die Hälfte des Buches ist online 
frei verfügbar. Weitere Informationen finden Sie unter 
<ulink url="https://nmap.org/book"/>.</para>
<para>Die deutsche Übersetzung dieses Buches von Dinu Gherman ist im Mai 
2009 unter dem Titel 
<citetitle><ulink url="https://www.opensourcepress.de/index.php?26&amp;backPID=178&amp;tt_products=270">Nmap: Netzwerke scannen, analysieren und absichern</ulink></citetitle>
im <ulink url="http://www.opensourcepress.de">Open Source Press</ulink>-Verlag 
erschienen.</para>
</refsect1>


  <refsect1 id='man-bugs'>
    <title>Fehler</title>
    <indexterm><primary>Fehlerberichte</primary></indexterm>

<para>Wie sein Autor ist auch Nmap selbst nicht perfekt. Aber Sie 
können helfen, es zu verbessern, indem Sie Fehlerberichte schicken oder 
sogar Patches schreiben. Falls Nmap sich nicht wie erwartet verhält, 
sollten Sie zuerst auf die neueste Version aktualisieren, die unter 
<ulink url="https://nmap.org"/> verfügbar ist. Wenn das Problem anhält, 
versuchen Sie herauszufinden, ob es bereits erkannt und bearbeitet 
wurde. Suchen Sie nach der Fehlermeldung auf unserer Suchseite unter 
<ulink url="https://insecure.org/search.html"/> oder bei Google. Stöbern 
Sie in den <citetitle>nmap-dev</citetitle>-Archiven unter 
<ulink url="https://seclists.org/" />.<indexterm><primary><citetitle>nmap-dev</citetitle> Mailingliste</primary></indexterm> 
Lesen Sie auch diese Manpage vollständig. Wenn Sie keine Lösung finden, 
schicken Sie einen Fehlerbericht per E-Mail an 
<email>dev@nmap.org</email>. Beschreiben Sie darin bitte alles, 
was Sie über das Problem wissen, inklusive der Nmap-Version und der 
Betriebssystemversion, unter der Sie Nmap einsetzen. Berichte von Problemen 
und Fragen zur Anwendung von Nmap werden sehr viel wahrscheinlicher 
beantwortet, wenn sie an <email>dev@nmap.org</email> geschickt 
werden statt direkt an Fyodor. Wenn Sie sich erst auf der nmap-dev-Liste 
eintragen, bevor Sie Ihre E-Mail schicken, entgeht Ihre Nachricht auch 
der Moderation und kommt schneller an. Eintragen können Sie sich unter 
<ulink url="https://nmap.org/mailman/listinfo/dev"/>.</para>

<para>Code-Patches zur Behebung von Fehlern sind noch besser als 
Fehlerberichte. Eine einfache Anweisung für die Erstellung von Patch-Dateien 
mit Ihren Änderungen ist unter 
<ulink url="https://nmap.org/data/HACKING" /> verfügbar. Patches können 
an <citetitle>nmap-dev</citetitle> (empfohlen) oder direkt an Fyodor 
geschickt werden.</para>
  </refsect1>

  <refsect1 id='man-author'>
    <title>Autor</title>
    <para>Fyodor 
    <email>fyodor@nmap.org</email>
    (<ulink url="https://insecure.org" />)
    </para>

    <para>Über die Jahre haben hunderte von Menschen wertvolle Beiträge 
    zu Nmap geleistet. Sie sind detailliert in der Datei 
    <filename>CHANGELOG</filename><indexterm><primary>changelog</primary></indexterm>
    aufgeführt, die mit dem Nmap-Quellcode verbreitet wird und auch unter 
    <ulink url="https://nmap.org/changelog.html" /> verfügbar ist.</para>

  </refsect1>

  <refsect1 id='man-legal'>
    <para>Sorry, this section has not yet been translated to German.  Please see the <ulink url="https://nmap.org/book/man-legal.html">English version</ulink>.</para>
  </refsect1>
</refentry>
<indexterm class="endofrange" startref="man-nmap1-indexterm"/>
</article>