forked from nmap/nmap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnmap_russian.1
1020 lines (1020 loc) · 49 KB
/
nmap_russian.1
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
.\" This definition swiped from the gcc(1) man page
.de Sp
.if n .sp
.if t .sp 0.4
..
.TH NMAP 1
.SH НАЗВАНИЕ ПРОГРАММЫ
nmap \- the Network Mapper \- инструмент для сканирования и исследования безопасности Сети.
.SH ИСПОЛЬЗОВАНИЕ
.B nmap
[тип(ы) сканирования] [опции] <хост или сеть #1 ... [#N]>
.SH ОПИСАНИЕ
Nmap создан для системных администраторов и любопытных индивидуумов для
того, что бы сканировать сети с любым количеством объектов для
определения доступности хостов и идентификации сервисов, которые они
предоставляют.
.PP
Nmap поддерживает такие виды сканирования как: UDP, TCP connect(), TCP
SYN (полуоткрытое соединение), ftp proxy (bounce attack), ICMP (ping),
FIN, ACK, Xmas Tree, SYN, IP Protocol и NULL.
.PP
Смотрите секцию Типы Сканирования для более подробной информации.
.PP
Nmap также поддерживает ряд расширенных особенностей, - например
удалённое определение операционной системы методом снятия отпечатка
TCP/IP стека, стелс-сканирование, вычисление динамической задержки и
интервала повторной передачи, параллельное сканирование, определение
неактивных хостов методом параллельного ping-сканирования, сканирование с
использованием ложных хостов, обнаружение систем фильтрации трафика (port
filtering detection), прямое (без использования portmapper) RPC-сканирование, IP-фрагментацию при сканировании, а также произвольное
указание сканируемых адресов и портов.
.PP
Много работы проводилось над адаптацией nmap для пользователей без прав
root. К сожалению, много критических ядерных интерфейсов (как, например
raw-сокеты) требуют root-привилегий, так что старайтесь запускать nmap
именно с этими правами (не setuid root, конечно).
.PP
Результатом работы nmap обычно является список отсканированных портов на
удаленной машине(ах) с указанием номера и состояния порта, типа
используемого протокола, а также названия службы, закрепленной за этим
портом. Порт характеризируется возможными состояниями: "открыт"(open),
"закрыт"(closed), "фильтруемый"(filtered) и "нефильтруемый"(unfiltered).
Состояние порта "open" означает, что на удалённой машине за этим портом
закреплён определённый сервис и он может принять соединение на этот порт.
Состояние порта "close" означает, что соединения на этот порт невозможны.
Состояние порта "filtered" означает, что фаервол, пакетный фильтр или
любая другая помеха мешает определить состояние порта. Состояние порта
"unfiltered" - означает что порт закрыт и система защиты не мешает это
определить. Такое состояние отображается если большинство портов
сканируемой машины находится в состоянии filtered. В некоторых случаях
nmap не может точно определить разницу между состояниями порта filtered,
open или closed. Например, порт который не отвечает на FIN-сканирование
может находиться в состоянии как open так и filtered. В подобных случаях
nmap отображает такие порты как "open|filtered" или "closed|filtered".
.PP
В зависимости от указанных опций, nmap также может определить следующие
характеристики сканируемого хоста: тип ОС, метод генерации TCP ISN, имя
пользователя (username) владельца процесса, зарезервировавшего
сканируемый порт, символьные имена, соответствующие сканируемым IP-адресам и т.п.
.SH ОПЦИИ
Большинство опций могут комбинироваться друг с другом. Одни опции
предназначены для выбора определенного метода сканирования, другие
указывают на использование дополнительных возможностей или служат для
настройки различных параметров сканирования. Nmap предупреждает
пользователя о недопустимом сочетании указанных им опций.
.Sp
Если вы немедленно хотите начать работу с nmap, можете пропустить этот
раздел и перейти к изучению примеров вызова nmap в конце данного
руководства. Вы можете также запустить программу nmap с ключом '
.B -h'
для получения краткой справки по всем опциям.
.TP
.B ТИПЫ СКАНИРОВАНИЯ
.TP
.B \-sS
Сканирование методом SYN. Этот метод называется "полуоткрытое"
сканирование, поскольку полное TCP-соединение с портом сканируемой
машины не устанавливается. Nmap посылает SYN-пакет, как бы
намереваясь открыть настоящее соединение, и ожидает ответ. Флаги
SYN|ACK в ответе указывают на то, что порт удаленной машины
открыт. Флаг RST указывает на то, что порт удалённой машины
закрыт. Если nmap принял пакет SYN|ACK, то в ответ немедленно
отправляется (операционной системой) RST-пакет для сброса еще не
установленного соединения. Очень немного сайтов способны
обнаружить такое сканирование, однако хорошо настроенный фаервол
на это способен. Пользователь должен иметь root-привилегии
для формирования поддельного SYN-пакета. Этот тип сканирования
является применимым по-умолчанию для привилегированных
пользователей.
.TP
.B \-sT
Сканирование методом TCP connect(). Наиболее простой метод
сканирования TCP-портов. Системный вызов connect(), присутствующий
в любой ОС, позволяет создать соединение с любым портом удаленной
машины. Соединение происходит методом стандартного "tcp-рукопожатия", - сканирующая машина отправляет на сканируемую
пакет с флагом SYN, если в ответ приходит пакет с флагом RST - то
порт закрыт, если SYN|ACK, то сканирующая отправляет ACK и тогда
соединение установлено). Если порт открыт и прослушивается
сканируемой машиной, то результат выполнения connect() будет
успешным (т.е. соединение будет установлено), в противном случае
указанный порт является закрытым или доступ к нему блокируется.
Единственным преимуществом данного метода является то, что его
можно использовать без root-привилегий.
.Sp
Этот метод сканирования легко обнаружим, поскольку в log-файле на
сканируемой машине сохранятся записи о многочисленных попытках
соединения и об ошибках выполнения данной операции службами, к
которым производилось подключение, а затем мгновенное завершение
соединения. Этот тип сканирования является применимым по-умолчанию
для непривилегированных пользователей.
.TP
.B \-sF \-sX \-sN
Сканирование методом stealth-FIN, Xmas Tree или NULL. Эти методы
используются в случае, если SYN-сканирование по каким-либо
причинам не дало ожидаемого результата. Некоторые фаерволы и
пакетные фильтры ожидают SYN-пакеты на защищаемые ими порты, и
программы типа Synlogger или Courtney способны отследить SYN-сканирование. Вышеуказанные типы сканирования могут быть не
замечены системами защиты.
.Sp
FIN-сканировании в качестве запроса используется FIN-пакет. В Xmas
Tree используется пакет с набором флагов FIN|URG|PSH, а NULL-сканирование использует пакет без флагов. Согласно RFC 793
стр.64, закрытый порт должен ответить на один из таких посланных
нами пакет пакетом с флагом RST. Фильтруемые порты обычно не
отвечают на такие пакеты, поэтому nmap обозначает такой порт
"open|filered". Если добавить опцию распознавания версии (-sV),
nmap попытается определить точно ли такие порты открыты. К
несчастью, Microsoft как всегда решила полностью игнорировать все
общепринятые стандарты и пойти своим путём. Поэтому любая ОС
семейства Windows не посылает в ответ RST-пакет, и данные методы
не будут работать с этими ОС. С другой стороны в nmap этот признак
является основным для различения операционных систем, если данные
типы сканирования нашли открытые порты - скорее всего сканируемая
машина работает не под управлением windows. К сожалению, Windows
не единственная ОС, обладающая этим недостатком. К таким ОС
относятся также Cisco, BSDI, IRIX, HP/UX и MVS. Все эти ОС не
отправляют RST-пакеты. Но это не так важно, поскольку nmap может
определять операционную систему другими методами автоматически.
.TP
.B \-sP
Ping-сканирование: Иногда вам необходимо лишь узнать какие хосты
активны в сканируемой сети. Nmap может сделать это, послав ICMP-сообщение "эхо запрос" на каждый IP-адрес, который вы укажете.
Хост, отправивший ответ на эхо, является активным. Некоторые сайты
(например microsoft.com) блокируют пакеты с эхо запросом. Поэтому
nmap также посылает TCP АСК-пакет на 80-й порт сканируемого хоста
(по умолчанию). Если в ответ мы получили RST-пакет, - хост
активен. Третий метод посылает SYN-пакет и ожидает в ответ RST
либо SYN|ACK. Для пользователей, не обладающих статусом
root, используется метод connect().
.Sp
Для привилегированных пользователей nmap по умолчанию использует
параллельно оба метода - ICMP и ACK. Вы можете изменить это,
используя опцию '
.B \-P
', описанную ниже.
.Sp
Обратите внимание, что ping-сканирование по умолчанию выполняется
в любом случае и только активные хосты подвергаются сканированию.
Используйте эту опцию только в случае, если вы хотите произвести
только ping-опрос, не сканируя порты.
.B \-sV
Включить режим определения версий служб, за которыми закреплены
сканируемые порты. После сканирования TCP и/или UDP-портов любым
методом, nmap попытается определить привязанный к этим открытым
портам протокол службы (ftp, ssh, telnet, http), имя приложения
(ISC Bind, Apache httpd, Solaris telnetd), номер версии и
дополнительные детали (например, открыт ли Х сервер для
подключений или версию протокола SSH). Файл, названный nmap-service-probes используется для определения оптимальтых тестов, с
помощью которых можно получить максимально точную информацию в
данных условиях. Если nmap скомпилирован с поддержкой OpenSSL, он
подключится к SSL-серверу с попыткой определить, какая служба
работает за шифрованием. Если обнаружена служба RPC, nmap
предпримет атаку на RPC по методу "грубой силы" для определения
номера программы RPC и номера версии. Некоторые UDP-порты остаются
в состоянии "open|filtered" если UDP-сканирование не сможет точно
определить в каком состоянии находится порт. Определитель версии
попытается соединиться на такой порт, и если он открыт, то его
состояние изменится на open. Опция '-A' также включает этот режим.
При использовании опции '--version_trace' nmap будет отображать
всю информацию о происходящем процессе определения версии (это
некоторая разновидность информации которую можно получить при
включении опции '--packet_trace').
.TP
.B \-sU
UDP-сканирование: этот тип сканирования используется для
определения открытых UDP (User Datagram Protocol, RFC 768) портов
на сканируемой машине. Nmap посылает 0-байтный UDP-пакет на каждый
порт сканируемой машины. Если в ответ получено сообщение ICMP
"port unreachable" (ICMP порт недоступен), то сканируемый порт
закрыт, если что-то другое - то открыт. Если ответ вообще не
приходит, то nmap помечает порт состоянием "open|filtered", и это
значит что порт открыт, но фаервол или другой пакетный фильтр
блокирует доступ к данному порту. Включение режима определения
версий служб (-sV) может помочь точно распознать открытые и
фильтруемые порты.
.Sp
Некоторые пользователи считают сканирование UDP-портов бесполезным
занятием. Мы обычно в этом случае напоминаем об известной дыре в
демоне rpcbind ОС Solaris. Rpcbind может быть обнаружен на любом
из недокументированных UDP-портов с номером, больше 32770. Если вы
обнаружите его, то будет уже не важно, блокируется ли 111-й порт
фаерволом или нет. Но как вы можете обнаружить на каком именно из
30,000 портов запущен rpcbind? Конечно же с помощью UDP-сканирования. Также недокументированные (свыше 1024 номера) порты
часто используются троянами или DDoS-клиентами. Очень часто такие
UDP-сервисы как snmp, tftp, NFS также имеют уязвимости.
.Sp
К сожалению, сканирование UDP-портов очень медленный процесс,
поскольку практически все ОС следуют рекомендации RFC 1812 (раздел
4.3.2.8) по ограничению скорости генерирования ICMP-сообщений
"порт недоступен". Например, ядро Linux (файл - net/ipv4/icmp.h)
ограничивает генерирование таких сообщений до 80 за 4 секунды с
простоем 0,25 секунды, если это ограничение было превышено. У ОС
Solaris еще более жесткое ограничение (2 сообщения в секунду), и
поэтому сканирование Solaris проходит еще более медленно. Nmap
определяет параметры этого ограничения, и соответственно уменьшает
количество генерируемых запросов, предотвращая тем самым
затопление сети ненужными пакетами, которые игнорируются
сканируемой машиной.
.Sp
Как обычно, Microsoft проигнорировала рекомендации RFC, и не
использует в своих ОС никаких ограничений. Поэтому nmap может
очень быстро просканировать все 65535 UDP-портов хоста,
работающего под управлением ОС Windows. :-)
.TP
.B \-sO
Сканирование протоколов IP. Данный метод используется для
определения IP-протоколов, которые поддерживает сканируемый хост.
Метод заключается в отправке хосту IP-пакетов без заголовка для
каждого сканируемого протокола. Если получено сообщение ICMP
"protocol unreachable" (протокол недоступен), то данный протокол
хостом не используется. В противном случае nmap предполагает, что
протокол хостом поддерживается. Стоит заметить, что некоторые ОС
(AIX, HP-UX, Digital UNIX) и фаерволы могут блокировать передачу
сообщений "ICMP protocol unreachable". По этой причине все
сканируемые протоколы nmap обозначает как "open" (т.е.
поддерживаются).
.Sp
Поскольку описанная техника схожа со сканированием UDP-портов, то
и соответственно есть лимит скорости генерации ICMP-сообщений.
Однако поле "тип протокола" IP-заголовка состоит всего лишь из 8
бит, поэтому 256 протоколов будут отсканированы за приемлемое
время.
.TP
.B \-sI <зомби-хост[:порт]>
Idle-сканирование - позволяет произвести абсолютно невидимое
сканирование портов. Это означает, что никакие пакеты с вашего
реального ip-aдреса не отправляются на сканируемую машину. Метод
IdleScan использует сторонний канал для сканирования, которое
проходит через хост-зомби, и основано на методе предугадывания
генерируемого на хосте-зомби значения "IP fragmentation ID".
Системы защиты на сканируемом хосте определят источником
сканирования хост-зомби, который вы используете.
.Sp
Кроме абсолютной невидимости, этот тип сканирования позволяет
определить политику доверия между сканируемыми машинами на уровне
протокола IP. Листинг результатов сканирования отображает порты
открытые для хоста-"зомби". Таким образом, можно просканировать
цель с использованием нескольких "зомби", которым цель может
"доверять", в обход фаерволов и пакетных фильтров. Такого рода
информация может быть самой важной при выборе приоритетных целей
для атаки.
.Sp
Вы можете указать конкретный порт для проверки изменения IPID на
хосте-"зомби". В ином случае nmap будет использовать номер порта
по умолчанию для "tcp ping".
.Sp
Что бы узнать, можно ли использовать хост в качестве зомби,
- нужно запустить nmap c дополнительными опциями "-O -v", и в поле
IPID Sequence Generation будет указан тип генерирования. Если
"Incremental" - то этот хост можно использовать как зомби.
.TP
.B \-sA
Сканирование методом ACK. Этот метод обычно используется для
определения набора правил фаервола. В частности, он помогает
определить защищен ли сканируемый хост фаерволом или просто
используется пакетный фильтр, блокирующий входящие SYN-пакеты.
.Sp
Этот метод сканирования подразумевает отправку ACK-пакета (со
случайными значениями полей acknowledgement number и sequence
number) на порт сканируемого хоста. Если в ответ пришел RST-пакет,
порт обозначается как "unfiltered" (нефильтруемый). Если ответа не
последовало (или пришло ICMP-сообщение "port unreachable"), порт
обозначается как "фильтруемый". Заметим, что обычно nmap не
отображает нефильтруемые порты в результатах, поэтому если после
сканирования методом АСК не обнаружено ни одного открытого порта,
то это означает, что все порты являются нефильтруемыми (в ответ
пришел RST-пакет). Этот метод никогда не показывает состояние
порта "open" в результатах сканирования.
.TP
.B \-sW
Cканировать методом TCP Window. Этот метод очень похож на ACK-сканирование, за исключением того, что иногда с его помощью можно
определить открытые порты точно так же, как и
фильтруемые/нефильтруемые, проверяя значение поля window size TCP-пакета, возвращаемого хостом в ответ на посланный ему запрос,
поскольку есть некоторые аномалии обработки данного поля у
некоторых ОС. Список уязвимых операционных систем включает в себя
несколько версий AIX, Amiga, BeOS, BSDI, Cray, Tru64 UNIX, DG/UX,
OpenVMS, Digital UNIX, FreeBSD, HP-UX, OS/2, IRIX, MacOS, NetBSD,
OpenBSD, OpenStep, QNX, Rhapsody, SunOS 4.X, Ultrix, VAX и
VxWorks. Для более подробной информации смотрите архив конференции
nmap-hackers.
.TP
.B \-sR
RPC-сканирование. Метод работает только в комбинации с другими
методами сканирования. Все предварительно отсканированные открытые
порты затопляются NULL-командами программы SunRPC, для того чтобы
определить какие из этих портов являются RPC-портами, и какие за
ними закрепленные программы. Таким образом, вы легко получаете
информацию, которую могли бы получить с помощью команды 'rpcinfo
-p', даже если portmapper сканируемого хоста закрыт фаерволом или
TCP-wrapper'ом. Этот тип сканирования включается также при выборе
опции '-sV' (режим определения версий служб).
.TP
.B \-sL
Cоставить список сканирования. Этот метод просто генерирует список
IP-адресов или имён хостов без любого их сканирования. Имена
хостов определяются по-умолчанию, но это можно отменить опцией -n.
.TP
.B \-b <ftp relay host>
Прорыв через FTP. Интересной "возможностью" протокола FTP (RFC
959) является поддержка proxy ftp-соединений. Другими словами, с
доверенного хоста evil.com можно соединиться с ftp-сервером
target.com и отправить файл, находящийся на нем, на любой адрес в
Интернет! Заметим, что данная возможность известна с 1985 года,
когда был написан этот RFC. Nmap использует эту уязвимость для
сканирования портов с proxy ftp-сервера. Итак, вы можете
подключиться к ftp-серверу за фаерволом и затем просканировать
заблокированные порты, например 139-й. Если ftp-сервер
позволяет читать и записывать данные в какой-либо каталог
(например /incoming), вы также можете отправить любые данные на
эти порты. (но nmap за вас это делать не будет).
.Sp
Аргумент, указываемый после '-b', это URL сервера ftp,
используемого в качестве proxy. Формат URL следующий:
имя_пользователя:пароль@сервер:порт. Адрес сервера нужно указать
обязательно, остальное - опционально. Нужно заметить, что в данное
время этот вид сканирования не эффективен, потому как почти во
всех приложениях уязвимость, используемая данным методом,
устранена.
.TP
.B НАСТРОЙКА ДОПОЛНИТЕЛЬНЫХ ПАРАМЕТРОВ СКАНИРОВАНИЯ
Ни одна из нижеуказанных опций не является необходимой, но некоторые могут быть очень полезными.
.TP
.B \-P0
Вообще не производить ping-опрос хостов перед их сканированием.
Эта опция позволяет просканировать сети, блокирующие обработку
ICMP-эха с помощью фаерволов. Примером такой сети является
microsoft.com, и вы всегда должны использовать опцию '
.B \-P0
' или '
.B \-PS80
' (см. ниже), когда сканируете такую сеть. Заметьте, что в
этом случае "ping" Обозначает несколько больше, чем традиционный
ICMP echo request пакет. Nmap использует разные комбинации TCP,
UDP и ICMP пакетов для того, что бы определить активен ли хост.
По-умолчанию nmap посылает ICMP echo request и TCP ACK пакет на
порт 80.
.TP
.B \-PA [порт(ы)]
Использовать TCP ACK ping для определения присутствия хоста в
сети. Вместо того, что бы отправлять ICMP echo request пакет и
ждать ответа, мы отправляем TCP ACK пакет на сканируемый хост.
Если в ответ мы получим RST-пакет, значит сканируемый хост
активен. Эта опция помогает избежать сканирования неактивных
хостов в сети, блокирующей ICMP-пакеты. Для непривилегированных
пользователей используется connect() метод, при котором активность
хоста фактически определяется его ответом на посланный нами SYN-пакет. Что бы указать порт(ы) назначения для нашего сканирования
- используйте '-PA[,port2][...]'. По-умолчанию используется
80-ый порт, поскольку чаще всего он не фильтруется.
.TP
.B \-PS [порт(ы)]
Использовать SYN-пакет (запрос на соединение) вместо ACK-пакетов
для привилегированных пользователей. Активные хосты должны
ответить на наш пакет RST-пакетом (или что уже редко - SYN|ACK).
Можно указать порты назначения точно так же как и в '-PA' опции.
.TP
.B \-PR
Использовать raw ethernet ARP ping. Когда сканируемый хост
находится в одном физическом сегменте сети со сканирующим, можно
более быстро и надёжно (ARP-пакеты не фильтруются фаерволом или
другим IP-фильтром) определить активен ли он. Nmap посылает IPv4-to-Ethernet ARP-запрос для каждого сканируемого хоста и смотрит
за приходящими ARP-ответами. Эта опция не может комбинироваться с
остальными типами ping-опроса.
.B \-PU [порт(ы)]
Эта опция отправляет UDP-запрос на сканируемый хост. Если в ответ
приходит сообщение "ICMP port unreachable", или UDP-ответ (порт
открыт), то сканируемый хост активен. Поскольку многие UDP-сервисы
не отвечают на пустой пакет, лучше указывать предположительно
закрытый порт.
.TP
.B \-PE
Использовать "настоящий" ping (посылать на сканируемый хост "ICMP
echo request" пакет). При включении этой опции ищутся активные
хосты и broadcast-адреса (адреса которые доступны внешне, и
транслируют приходящие IP-пакеты всем хостам внутренней сети).
Такие адреса могут использоваться для организации DoS-атак. (Атака
типа отказ в обслуживании)
.TP
.B \-PP
Использовать пакет ICMP "timestamp request (type 13)" для определения активных хостов.
.TP
.B \-PM
Использовать пакет ICMP "netmask request (type 17)" для определения активных хостов.
.TP
.B \-PB [порт(ы)]
Это тип ping-опроса по-умолчанию. Он параллельно использует ACK
(
.B -PA
) и "ICMP echo request" пакет (
.B -PE
). Этим путем можно обойти
фаервол который фильтрует один из этих пакетов.
.TP
.B \-O
(Operating system detection) - эта опция позволяет определить
операционную систему сканируемого хоста с помощью снятия
отпечатков стека TCP/IP. Другими словами, nmap активизирует мощный
алгоритм, функционирующий на основе анализа свойств сетевого стека
установленной на хосте ОС. В результате сканирования получается
"отпечаток", состоящий из стандартных тестовых запросов и
"ответов" хоста на них. Затем полученный отпечаток сравнивается с
имеющейся базой стандартных ответов известных ОС, хранящейся в
файле nmap-os-fingerprinting, и на основании этого принимается
решение о типе и версии ОС сканируемого хоста.
.Sp
Если nmap не смог определить OC сканируемой машины, потому что
такого отпечатка ещё нет в базе, но получение отпечатка
представляется возможным (на машине хотя бы один открытый порт)
nmap укажет url, на котором вы сможете отправить отпечаток для
внесения его разработчиками в базу отпечатков, если вы точно
знаете что за ОС используется на сканируемом хосте. Заметьте, если
вы укажете ip-адрес машины, для которой вы прислали отпечаток, то
при внесении его в базу эта машина будет ещё раз просканирована
для подтверждения результатов.
.Sp
Опция '-О' также инициализирует несколько других тестов. Один из
таких как использование "TCP timestamp" опции (RFC 1323) для
определения времени активности хоста с момента его последней
перезагрузки. Эта информация предоставляется только с разрешения
сканируемого хоста.
.Sp
Другой тест, инициализируемые опцией '-O' - это "TCP Sequence
Predictability Classification" - классификация предсказуемости
последовательности TCP. Его суть в том, что бы определить
насколько тяжело установить поддельное соединение с удалённой
машиной. Эта информация может использоваться для обхода прав
доступа к удалённой машине или скрытия источника атаки. Эта
информация отображается при включенной опции '-v'.
.Sp
Когда опция '-v' используется вместе с '-O', - частота генерации
IPID также отображается. Большинство машин отображаются как
"incremental", что означает изменение поля "ID" в заголовке IP для
каждого отправленного пакета на одинаковую величину, что делает их
уязвимыми для некоторых углублённых методов сбора информации и
spoof-атак.
.TP
.B \--osscan_limit
Определение ОС сканируемой машины значительно эффективнее, если
найдены хотя бы один закрытый и открытый порт. Используйте эту
опцию и nmap не будет пробовать определять ОС, если таковых портов
не найдено. Это может сократить время сканирования, например при
-P0 сканировании множества хостов. Эта опция используется только
вместе с '-O' или '-A' опциями.
.TP
.B \-A
Эта опция включает режим Additional Advanced и Aggressive,
объединяя опции '-O' и '-sV'. В будущем эта опция планируется для
объединения многих опций, для того что бы меньше запоминать. ;-)
.TP
.B \-6
Эта опция включает поддержку протокола IPv6. Все сканируемые хосты
должны поддерживать IPv6 при использовании этой опции, и могут
быть указаны путем нормального имени DNS (запись AAAA) или
литеральным IP-адресом, например
3ffe:501:4819:2000:210:f3ff:fe03:4d0. На данный момент,
поддерживаются только методы TCP connect()-сканирование и TCP
connect() Ping-сканирование. Если Вас интересует UDP или другой
тип сканирования, посетите http://nmap6.sourceforge.net/.
.TP
.B \--send_eth
Эта опция заставляет nmap отсылать пакеты на канальном уровне
(data link layer) вместо сетевого уровня (network layer). По-умолчанию nmap сам выбирает на каком уровне отправлять пакеты в
зависимости от используемой платформы. Raw-сокеты (сетевой
уровень) более эффективно использовать на UNIX машинах, однако на
канальном уровне лучше функционируют ОС семейства Windows, в
которых Microsoft отключила поддержку raw-сокетов. Nmap однозначно
будет использовать raw-сокеты если нет другого выбора (например в
не локальной сети).
.TP
.B --send_ip
Эта опция заставляет nmap отсылать пакеты на сетевом уровне
(network layer) вместо канального (data link layer). Это
противоположная опция к '--send_eth'.
.TP
.B \--spoof_mac [mac, prefix, or vendor substring]
Эта опция заставляет nmap использовать заданный MAC-адрес во всех
отправляемых пакетах канального уровня. Адрес может задаваться в
нескольких форматах. Если это просто строка "0", nmap выберет
полностью случайный MAC-адрес для этой сессии. Если заданный адрес
- набор шестнадцатеричных чисел, с разделителем в виде двоеточия,
nmap будет использовать эту строку как МАС-адрес. Если задано
меньше 12 шестнадцатеричных чисел, nmap сам заполнит недостающие
случайными значениями. Если заданный аргумент не 0 и не
шестнадцатеричная строка, то nmap будет искать в файле nmap-mac-prefixes похожее значение в именах производителей сетевого
оборудования. Если такой производитель будет найден, nmap возьмет
OUI (3байтный префикс) производителя и дополнит его случайными 3
байтами, в результате получится поддельный МАС-адрес определённого
производителя. Правильными аргументами --spoof_mac будут, например: "Apple", "0", "01:02:03:04:05:06", "deadbeefcafe", "0020F2", и "Cisco".
.TP
.B \-f
(fragment packets) - эта опция используется совместно с SYN, FIN,
Xmas или NULL-сканировании и указывает на необходимость
использования IP-фрагментации. Идея заключается в том, чтобы
разбить TCP-заголовок исходящего пакета на несколько фрагментов.
Сканируемый хост дефрагментирует эти IP-фрагменты в один TCP-пакет. Фрагментирование значительно усложняет фильтрацию пакетов,
работу систем обнаружения и других подобных средств защиты, и
позволяет nmap скрыть свои действия. Однако следует осторожно
использовать данную опцию, поскольку некоторые старые или
непрофессиональные новые программы, например снифферы, просто
зависают при попытке собрать такие маленькие фрагменты. Укажите
эту опцию один раз и nmap будет разбивать пакеты на 8байтовые или
меньше пакеты, исключая IP-заголовок. Например, 20-байтовый TCP
заголовок будет разбит на 3 пакета - на 2 по 8байт и один на 4.
Конечно же, каждый фрагмент имеет собственный IP-заголовок.
Укажите опцию '-f' ещё раз и пакеты будут разбиваться
соответственно на 16байтные фрагменты. Или вы можете указать свой
собственный размер фрагмента, используя опцию '--mtu'. Не
используйте эти (-f и --mtu) опции вместе, и не забывайте, что
размер фрагмента должен быть кратен 8.
.Sp
Заметьте, что некоторые ОС, например Linux c включенным модулем ip
tables connection tracking, дефрагментируют исходящие пакеты на
уровне ядра. Просмотрите генерируемый nmap фрагментированный
трафик сниффером, что бы выяснить работает ли опция '-f'.
.TP
.B \-v
(verbose output) - использовать режим подробного отчета. Если вы
укажете эту опцию, nmap будет подробно сообщать о ходе выполнения
текущей операции. Для получения лучшего эффекта можно указать ее
дважды. Можете ещё несколько раз указать опцию '
.B \-d
', но в таком случае от скроллинга экрана вам может поплохеть. ;-)
.TP
.B \-h
(help) - показывает краткую инструкцию по использованию nmap
с указанием опций и краткого их описания, не запуская саму
программу.
.TP
.B \-oN <имя_файла>
(output Normal) - записывает результаты сканирования в удобной для
пользователя форме в файл, указанный в качестве аргумента.
.TP
.B \-oX <имя_файла>
(output XML) - записывает результаты сканирования в формате
.B XML
в файл, указанный в качестве аргумента. Это позволяет программам
легче обрабатывать вывод nmap'а. Вы можете использовать аргумент
'-' (без кавычек) для вывода на stdout. Нормальный вывод в этом
случае не используется. Внимательно следите за сообщениями об
ошибках, потому как они выводятся на stderr. Document Type
Definition (DTD), объясняющий структуру вывода результатов nmap в
формате XML доступен здесь: http://www.insecure.org/nmap/nmap.dtd.
.TP
.B \--stylesheet <имя_файла>
Nmap обращается к XSL таблице стилей, которая называется nmap.xsl,
для просмотра или транслирования XML вывода в HTML формат. Если вы
желаете указать другую таблицу стилей - используйте эту опцию. В
качестве аргумента указывается полный путь или url, например '--stylesheet http://www.insecure.org/nmap/data/nmap.xsl', что
укажет браузеру загрузить последнюю версию таблицы стилей с
сервера insecure.org. Эта таблица может использоваться для
просмотра nmap XML-вывода на машине где nmap не установлен. По
умолчанию, в целях безопасности, используется локальная копия
nmap.xsl.
.TP
.B \--no_stylesheet
Указывает nmap не использовать никакой XSL таблицы стилей для
отображения XML-вывода.
.TP
.B \-oG <имя_файла>
(output Grepable) - записывает результаты сканирования в удобной
для программы grep форме в файл, указанный в качестве аргумента.
Вы можете использовать аргумент '-' (без кавычек) для вывода на
stdout. Нормальный вывод в этом случае не используется.
Внимательно следите за сообщениями об ошибках, потому как они
выводятся на stderr. В нынешнее время рекомендуется использовать
XML-вывод (-oX).
.TP
.B \-oA <имя_базы>
(output All) - записывает результаты во всех основных форматах
(нормальном, grep и XML). Вы указываете базовое имя, например
base, и выходные файлы будут называться base.nmap, base.gnmap и
base.xml.
.TP
.B \-oS <имя_файла>
thIs l0gz th3 r3suLtS of YouR ScanZ iN a
.B s|<ipT kiDd|3
f0rM iNto THe fiL3 U sPec\|fy 4s an arGuMEnT! U kAn gIv3
the 4rgument "-" (wItHOUt qUOteZ) to sh00t output iNT0
stDouT!@!!
.TP
.B \--resume <имя_файла>
Если сканирование было прервано нажатием комбинации [Ctrl+C],
сетевым сбоем и т.п., то оно может быть продолжено включением этой
опции. Если результаты прерванного сканирования записывались в
лог-файл с помощью опций '-oG' или '-oN', просто запустите nmap с
указанием этой опции и имени лог-файла, в который производилась
запись предыдущего сеанса. Не указывайте никаких других опций,
поскольку при возобновлении сканирования будут использоваться
опции, указанные в предыдущем сеансе. Nmap продолжит сканирование
с адреса, следующего за последним отсканированным.
.TP
.B \--exclude <хост1 [,хост2][,хост3],...">
Исключить из списка сканирования цели (хосты, сетевые диапазоны),
которые не должны сканироваться.
.TP
.B \--excludefile <имя_файла>
Смысл этой опции такой же, как и '--exclude', только цели для
исключения задаются файлом, каждая запись - в отдельной строке.
.TP
.B \--allports
Опция используется вместе с режимом определения версий служб (-sV)
и разрешает работать со всеми найденными открытыми портами, даже с
теми, которые помечены как опасные в файле nmap-service-probes.
.TP
.B \--append_output
Дописывать результаты сканирования в лог-файл, а не затирать
предыдущую информацию в нём.
.TP
.B \-iL <имя_файла>
(input List) - считывать список хостов для сканирования из файла,
заданного в качестве аргумента. Файл должен содержать список имен
хостов или IP-адресов, разделенных пробелами, знаками табуляции
или что бы каждая запись была в отдельной строке. Что бы nmap
считал список хостов с StdIn, укажите вместо имени файла символ
'-'. Более подробная информация о форматах выражений приведены в
разделе "Способы задания цели".
.TP
.B \-iR <количество_хостов>
Если указать эту опцию, то nmap будет сканировать хосты выбранные
случайным образом. Используйте 0 в качестве заданной цели для
сканирования, и nmap будет сканировать пока вы его не остановите.
Эта опция может быть использована для статистических исследований
Интернета. Если вам действительно скучно - запускайте "nmap -sS -PS80 -iR 0 -p 80" что бы найти некоторые веб-сервера, которые
могут вас заинтересовать.
.TP
.B \-p <диапазон_портов>
Этой опцией вы можете задать порты, которые вы хотите сканировать.
Для примера, если задать "-р 23", то будет сканироваться только 23
порт на хосте. "-р 20-30,139,60000-" просканирует порты от 20 до
30, 139 порт, и все порты, номера которых больше 60000. По
умолчанию сканируются порты от 1 до 1024, и те, которые указаны в
файле nmap-services. Для сканирования протоколов IP (-sO) эта
опция указывает какой протокол просканировать (0-255).
.Sp
Когда сканируются как TCP так и UDP порты, можно указать диапазон
для каждого типа портов отдельно, используя префиксы "Т:" и "U:"
соответственно. Например, если задать аргумент "-р
U:53,111,137,T:21-25,80,139,8080" то будут сканироваться 53, 111,
и 137 UDP-порты, и указанные ТСР-порты. Заметьте, что бы
просканировать UDP и ТСР порты, нужно указать -sU и хотя бы один
из методов ТСР-сканирования (-sS, -sF, -sT).
.TP
.B \-F
Быстрое сканирование. Если указать эту опцию, то nmap будет
сканировать порты только тех служб, которые перечислены в файле
nmap-services (или nmap-protocols для '-sO'). Сканирование
проходит гораздо быстрее, чем если бы nmap сканировал все 65535
портов хоста.
.TP
.B \-D <ложный_хост1,[ложный_хост2],[,ME],...>
Эта опция используется для сокрытия реального источника
сканирования, используя ложные хосты. Вместе с нашими пакетами на
сканируемый хост отсылаются такие же пакеты, но с поддельными
адресами источника. Защитная программа на сканируемом хосте может
отобразить 5-10 попыток сканирования с разных источников, но
узнать с какого именно хоста производится истинное сканирование
сложно, особенно если указать много ложных хостов.
.Sp
Указывайте ложные хосты через запятую, и используйте "МЕ" для
обозначения своего хоста в этой цепочке. Например, если указать
"МЕ" на 5 позиции, то истинные пакеты будут отправлены после
предыдущих четырех ложных. Если не указать "ME", nmap выберет
позицию для вашего хоста случайным образом.
.Sp
Учтите, что хосты, которые вы укажете как ложные, должны быть в
активном состоянии, иначе вы можете случайно затопить сканируемую
цель SYN-пакетами, или будет очень легко определить источник
сканирование, если только ваша машина окажется активной. Также
предпочтительно использовать ip-адреса вместо dns-имён, иначе на
сервере имён ложных хостов в лог-файле сохранятся записи о ваших
обращениях к ним.
.Sp
Стоит заметить, что некоторые детекторы сканирования портов
блокируют доступ хосту, осуществившему попытку сканирования.
Поэтому ложный хост может потерять соединение со сканируемым
хостом. Эта ситуация может возникнуть даже в том случае, если вы
указали в качестве ложного хоста адрес шлюза или сервера имён.
Поэтому используйте эту опцию очень осторожно.
.Sp
Ложные хосты можно использовать в любом методе сканирования а
также при определении операционной системы удалённого хоста (-O).
.Sp
Если вы укажете много ложных хостов, процесс сканирования
замедлится и станет менее аккуратным. Некоторые провайдеры
фильтруют поддельные исходящие пакеты, так что данный вид
сканирования может вообще не достичь желаемого результата.
.TP
.B \-S <ip-адрес>
При некоторых обстоятельствах nmap не сможет определить ваш ip-адрес (nmap сообщит вам об этом). В таких случаях можно
использовать эту опцию для явного указания вашего ip-адреса.
.Sp
Другой вариант использования этой опции - отправка пакетов с
поддельным ip-адресом. Это может использоваться для создания
видимости сканирования целевого хоста кем-то другим, однако в
таком случае результат сканирования можно получить лишь
прослушивая трафик, проходящий между целевым хостом и хостом,
пакеты которого вы подделываете. Что бы использовать данный метод,
необходимо так же включить опцию '-e'.
.TP
.B \-e <интерфейс>
Если nmap не может определить какой интерфейс использовать для
приёма и отправки пакетов, то этой опцией можно указать его явно.
.TP
.B \--source_port <номер_порта>
Использовать порт отправки с определённым номером. Много
непрофессиональных фаерволов и пакетных фильтров позволяют
пакетам, отправленным с таких портов как например 53 (DNS) или 20
(FTP-DATA), свободно инициализировать соединения на защищаемом
хосте. Соответственно, изменив наш порт отправки на разрешенный
фаерволом порт мы можем устанавливать соединения с защищённой этим
фаерволом машиной. Для UDP сканирования попробуйте сначала
установить 53 порт, а для TCP - 20. Однако эта техника не всегда
работает, вы не сможете определить характер изменения ISN, в связи
с чем nmap самостоятельно сменит номер порта для этой цели, даже
если вы указали эту опцию.
.TP
.B \--data_length <количество_байт>
Обычно nmap использует минимальные по размеру пакеты, которые
содержат только заголовок. TCP пакеты обычно размером в 40 байт, а
ICMP эхо запрос - всего 28. Эта опция указывает nmap дополнять
отсылаемые пакеты заданным количеством байт случайной информации.
Пакеты используемые при определении ОС сканируемого хоста не
изменяются.
.TP
.B \-n
Указывает nmap никогда не преобразовывать ip-адреса активных
хостов в DNS-адресa. Увеличивает скорость сканирования и
предотвращает появление записей о dns-запросах nmap в лог-файле
на сервере имен.
.TP
.B \-R
Указывает nmap всегда преобразовывать ip-адреса хостов в DNS-адресa. Обычно это происходит только если сканируемые машины
находятся в активном состоянии.
.TP
.B \-r
Указывает nmap не изменять порядок номеров сканируемых портов случайным образом.
.TP
.B \-\-ttl <значение>
Устанавливать в поле TTL отправляемых пакетов IPv4 заданное значение.
.TP
.B \-\-privileged
Указывает nmap, что пользователь имеет достаточные привилегии для
таких операций как использование raw-сокетов, прослушивание
трафика, и т.п. Эта опция используется в таких системах, где
непривилегированным пользователям ядро разрешает использовать
функции, которые доступны только привилегированным, например в
специально сконфигурированной ОС Linux. Nmap не может этого
определить, так как использует функцию getuid(), и в этом случае
используется данная опция, которую необходимо указывать перед
всеми остальными опциями. В качестве альтернативы --privileged
можно использовать переменную NMAP_PRIVILEGED.
.TP
.B \-\-interactive
Запускает nmap в интерактивном режиме. Эту опцию полезно
использовать в многопользовательских системах, так как, например,
в истории командной строки не остаётся указанных вами параметров.
.TP
.B \-\-randomize_hosts
Указывает nmap сканировать хосты в случайной последовательности.
Используются группы до 2048 хостов. Эта опция делает сканирование
менее заметным для различных систем сетевого мониторинга, особенно
если вы используете ее совместно с опциями настройки временных
параметров.
.TP
.B \-M <максимальное_количество_сокетов>
Устанавливает максимальное количество сокетов, используемых
параллельно в методе TCP connect() сканирования. Эту опцию можно
использовать для замедления процесса сканирования и предотвращения
выведения из строя сканируемого хоста.
.TP
.B --packet_trace
Указывает nmap отображать все принимаемые и передаваемые пакеты в
формате TCPDump. Эта опция может использоваться для отладки работы
nmap и сети, а также в обучающих целях.
.TP
.B --datadir [имя_директории]
При запуске nmap считывает данные из файлов nmap-service-probes,
nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes и nmap-os-fingerprints. Сначала nmap ищет эти файлы в директории
указанной в опции --nmapdir. Если файлы не найдены - проверяется
переменная окружения NMAPDIR, после чего ~/nmap, а затем путь
наподобии /usr/local/share/nmap или /usr/share/nmap. И наконец,
nmap ищет эти файлы в текущем каталоге. Этой опцией можно задать
явное имя директории где расположены эти файлы.
.TP
.B НАСТРОЙКА ВРЕМЕННЫХ ПАРАМЕТРОВ
Обычно nmap автоматически настраивает временные параметры при
запуске, в соответствии с характеристиками сканируемой сети, что
бы произвести сканирование как можно быстрее и точнее. Но иногда
бывают случаи, когда самостоятельная настройка временных
параметров nmap вас не устраивает. В этом случае вы можете
воспользоваться следующими опциями:
.TP
.B -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>
Возможность установления режимов сканирования с готовыми наборами
правил по установке временных интервалов.
.B Paranoid
режим - сканирование происходит очень медленно для того что бы системы
защиты не распознали его. Пакеты посылаются последовательно, с
интервалом в 5 минут. Режим
.B Sneaky
похож на режим Paranoid.
Разница лишь в том, что интервал между посылкой пакетов составляет
15 секунд. Режим
.B Polite
используется в случае, когда необходимо
что бы нагрузка на сеть была минимальной. В этом режиме пакеты
отправляются последовательно с интервалом минимум 0,4 секунды.
Режим
.B Normal
используется nmap по умолчанию. В этом режиме
сканирование производится с максимальной скоростью, и по
возможности без перегрузки сети и потери пакетов. Режим
.B Aggressive
используется для быстрого сканирования хорошо фильтруемых сетей,
особенно если используется SYN-сканирование. Режим
.B Insane
рекомендуется использовать или в очень быстрых сетях, или если вы
точно знаете, что пакеты не затеряются. Время сканирования одного
хоста - 15 минут, а ожидание ответа на запрос - 0,3 секунды.
.Sp
Каждому режиму присвоен определённый номер от 0 до 5, и его можно
указать вместо полного названия режима. Например, опция '-T0'
означает режим Paranoid, а '-T5' - Insane. Если вы хотите
использовать такие опции как --max_rtt_timeout или --host_timeout,
располагайте их в командной строке после любых '-T' опций.
.TP
.B --host_timeout <миллисекунды>
Устанавливает время, отводимое nmap на сканирование одного хоста,
прежде чем он перейдет к очередному IP-адресу. По умолчанию этот
параметр не имеет ограничения.
.TP
.B --max_rtt_timeout <миллисекунд>
Устанавливает максимальное количество времени, в течение которого
nmap ожидает ответ на посланный запрос, прежде чем повторить
запрос или считать его утерянным. По умолчанию это значение
установлено равным 9000 миллисекунд.
.TP
.B --min_rtt_timeout <миллисекунд>
Если сканируемый хост очень быстро отвечает на запросы, nmap будет
автоматически уменьшать интервал между посылаемыми запросами. Это
ускоряет сканирование, но может привести к потере пакетов с
ответами, пришедшими позже, чем обычно. Эта опция определяет
сколько времени nmap должен ждать перед отправкой очередного
пакета.
.TP
.B --initial_rtt_timeout <миллисекунд>
Устанавливает время, отводимое на определение активности хоста.
Эта опция используется в основном для сканирования хостов,
защищенных фаерволом, совместно с опцией '-P0'. Обычно nmap
автоматически выбирает оптимальное значение этого параметра после
отправки ping и первых сканирующих пакетов на хост. Значение по
умолчанию составляет 6000 миллисекунд.
.TP
.B --max_hostgroup <количество_хостов>
Устанавливает максимальное количество хостов, которое nmap может
сканировать параллельно. Большинство техник сканирования портов
используют одновременное сканирование нескольких хостов, что
позволяет работать быстрее. Но что бы дождаться всех результатов
сканирования вам необходимо ждать, пока будут просканированы все
хосты. Если вы хотите, что бы хосты сканировались поочерёдно и
результаты выводились относительно каждого хоста без задержки
- используйте 1 в качестве аргумента. Заметьте, что ping
-сканирование группирует хосты по-своему и игнорирует этот
параметр.
.TP
.B --min_hostgroup <количество_хостов>
Устанавливает минимальное количество хостов, которое nmap должен
сканировать параллельно. (см. --max_hostgroup)
.TP
.B --max_parallelism <количество>
Устанавливает максимальное количество параллельных процессов
сканирования nmap. Установка этого параметра равным 1 означает,
что nmap никогда не будет сканировать более одного порта в один
момент времени. Этот параметр также влияет и на ping-сканирование,
RPC-сканирование и т.п.
.TP
.B --min_parallelism <количество>
Устанавливает минимальное количество параллельных процессов
сканирования nmap. Увеличивает скорость прохождения пакетов через
некоторые фаерволы, однако если установить слишком большое
значение, - результаты сканирования будут ненадёжными.
.TP
.B --scan_delay <миллисекунды>
Устанавливает минимальное время задержки между отправкой пакетов.
Эта опция используется для снижения нагрузки на сеть и уменьшения
вероятности обнаружения сканирования. Nmap иногда может
увеличивать это значение самостоятельно, если обнаруживает
значительные потери пакетов. Например, ОС Solaris отвечают только
одним ICMP port unreachable пакетом в секунду при UDP-сканировании. Nmap старается определить это и увеличить
минимальное время задержки до одной секунды.
.TP
.B --max_scan_delay <миллисекунды>
Как отмечено выше, nmap может автоматически изменять время
задержки между отправкой пакетов. Это может давать лучшие
результаты при сканировании, но значительно замедлять его. По
умолчанию (без включенной '-Т' опции), nmap может изменять время
задержки между отправкой пакетов до 1 в секунду. Эта опция
позволяет установить большее или меньшее максимальное значение.
.SH СПОСОБЫ ЗАДАНИЯ ЦЕЛИ
Всё, что не является опцией (или аргументом опции) nmap интерпретирует
как адрес сканируемой цели. Простейший вариант - указать имена или ip-адреса хостов в командной строке. Если вы хотите просканировать подсеть
ip-адресов, вы можете дополнить
.B /маску
сети к ip-адресу. Маска должна
быть в диапазоне от 0 (сканировать весь Интернет) до 32 (сканировать
единственный хост). Используйте /24 для сканирования целой сети класса
"С" и /16 для сети класса "В".
.Sp
Nmap также позволяет более гибко указать целевые IP-адреса, используя
списки и диапазоны для каждого их элемента. Например, чтобы
просканировать подсеть класса "B" с адресом 192.168.*.*. в командной
строке вы можете указать "
.B 192.168.*.*
" или "
.B 192.168.0-255.0-255
" или даже "
.B 192.168.1-50,51-255.1,2,3,4,5-255
". И, конечно же, вы можете
использовать маску - "
.B 192.168.0.0/16"
. Если вы используете астериск
("*"), помните, что некоторые командные интерпретаторы требуют указывать
"\" перед этим символом, или другие спецсимволы.
.Sp
Ещё одним вариантом задания адресов является использование префикса.
Например, что бы просканировать все адреса в сети, заканчивающиеся на
.6.7 можно задать "*.*.6.7".
.SH ПРИМЕРЫ
В этом разделе приводятся некоторые примеры использования nmap, от
простых до более сложных.
.Sp
.B nmap -v target.example.com
.Sp
Сканировать все зарезервированные TCP-порты на хосте target.example.com.
Опция '-v' означает включить режим подробного отчета о ходе процесса
сканирования.
.Sp
.B nmap -sS -O target.example.com/24
.Sp
Запускает SYN-сканирование (-sS) всех 255(маска /24) машин с адресами
класса "C", одной из которых является target.example.com. Также
осуществляется определение ОС (-O) каждого из сканируемых хостов. Для
выполнения этих действий вам необходим статус root.
.Sp
.B nmap -sX -p 22,53,110,143,4564 198.116.*.1-127
.Sp
Запускает Xmas-сканирование (-sX) первой половины адресов (0-127) каждой
из 255 подсетей класса "B" адресного пространства 128.210.*.*. На этих
хостах сканируются 22, 53, 110, 143 и 4564 порты. Заметьте, что Xmas-сканирование работает с ОС Windows, CISCO, IRIX, HP/UX и BSDI машинами.
.Sp
.B nmap -v --randomize_hosts -p 80 *.*.2.3-5
.Sp
Вместо сканирования конкретных адресных диапазонов, иногда бывает
интересно сканировать хосты, выбранные случайным образом. Эта команда
ищет веб-сервера, ip-адрес которых оканчивается на .2.3, .2.4 и .2.5.
Если ваш статус root, вы также можете просканировать порты обнаруженных
хостов, указав опцию '-sS'. Вы можете найти много интересных машин,
адреса которых начинаются на 127. Для этого укажите вместо первого
астериска '127-222'.
.Sp
.B host -l company.com | cut -d -f 4 | ./nmap -v -iL -
.Sp
Просмотреть серверы DNS зоны и найти хосты в домене company.com, передав
затем в nmap их адреса. Так выглядит команда для GNU/Linux, но для других
ОС она может выглядеть несколько иначе.
.SH ОШИБКИ
Ошибки? Какие ошибки? Если вы нашли ошибки - просьба незамедлительно
сообщить о них. (желательно присылать и исправления :-) ). Не забывайте
также присылать новые отпечатки ОС для пополнения общей базы. Отправляйте
информацию на e-mail fyodor[@]insecure.org или в конференцию http://seclists.org/#nmap-dev.
.SH АВТОР
.Sp
Fyodor
.I <fyodor@insecure.org>
.SH РАСПРОСТРАНЕНИЕ
Новейшую версию nmap вы можете скачать по адресу http://www.insecure.org/nmap/
.Sp
Права на Nmap Security Scanner принадлежат 1996-2004 Insecure.Com LLC.
Nmap также является зарегистрированной торговой маркой Insecure.Com LLC.
Эта программа является бесплатным программным обеспечением. Вы можете
свободно распространять и/или модифицировать ее в соответствии с
требованиями GNU General Public License, опубликованной Free Software