Что такое tcp порт 1037. Основы сетевых портов
Краткий список портов:1. DISCARD: Discard port (RFC 863)
2. FTP: 21 для команд, 20 для данных
3. SSH: 22 (remote access)
4. Telnet: 23 (remote access)
5. SMTP: 25, 587
6. DNS: 53 (UDP)
7. DHCP: 67, 68/UDP
8. TFTP: 69/UDP
9. HTTP: 80, 8080
10. POP3: 110
11. NTP: 123 (time server) (UDP)
12. IMAP: 143
13. SNMP: 161
14. HTTPS: 443
15. MySQL: 3306
16. Iserver: 3055
17. RDP: 3389 (remote access)
18. OSCAR (ICQ): 5190
19. XMPP (Jabber): 5222/5223 /5269
20. Traceroute: выше 33434 (UDP)
21. BitTorrent: 6969, 6881-6889
...
1. RFC 863 - Протокол отбрасывания
Этот документ содержит стандарт для сообщества ARPA Internet. Предполагается, что хосты ARPA Internet, выбравшие поддержку протокола Discard, будут приведены в соответствие с этой спецификацией.Отбрасывание является полезным инструментом при измерениях и отладке. Этот сервис просто отбрасывает все принятые данные.
Сервис Discard на основе TCPО-дин из вариантов службы отбрасывание реализуется на основе TCP. Сервер прослушивает соединения TCP через порт 9. После организации соединения все принятые по нему данные отбрасываются без передачи каких-либо откликов. Отбрасывание данных продолжается до тех пор, пока соединение не будет разорвано пользователем.
Сервис Discard на основе UDP-другой вариант службы отбрасывания строится на основе UDP. Сервер прослушивает дейтаграммы UDP через порт 9 и при обнаружении отбрасывает полученные дейтаграммы без передачи какой-либо информации.
2. FTP (англ. File Transfer Protocol - протокол передачи файлов) - протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами.
Исходящий порт 20, открываемый на стороне сервера, используется для передачи данных, порт 21 - для передачи команд.
3. SSH (англ. Secure SHell - «безопасная оболочка») - сетевой протокол сеансового уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).Порт 22 служит для удалённого администрирования, посредствам программ-клиентов ssh-протокола (SSH - Secure SHell)Ззакрыть можно отлючением управляющей программы-сервера.
4. TELNET (англ. TErminaL NETwork) - сетевой протокол для реализации текстового интерфейса по сети (в современной форме - при помощи транспорта TCP).
5. SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.Для работы через протокол SMTP клиент создаёт TCP соединение с сервером через порт 25.
Иногда провайдеры запрещают отправлять почту через 25 порт, вынуждая клиента использовать только свои SMTP-серверы. Но, как известно, на хитрую … найдется…
По-умолчанию postfix работает только на 25 порту. Но можно заставить его работать и на порту 587. Для этого всего лишь в файле /etc/postfix/master.cf необходимо раскомментировать строку:
submission inet n - - - - smtpd
6. DNS (англ. Domain Name System - система доменных имён) - компьютерная распределённая система для получения информации о доменах.Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы.
7. DHCP (англ. Dynamic Host Configuration Protocol - протокол динамической конфигурации узла) - это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.Протокол DHCP является клиент-серверным, то есть в его работе участвуют клиент DHCP и сервер DHCP. Передача данных производится при помощи протокола UDP, при этом сервер принимает сообщения от клиентов на порт 67 и отправляет сообщения клиентам на порт 68.
8. TFTP (англ. Trivial File Transfer Protocol - простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
9. HTTP (сокр. от англ. HyperText Transfer Prоtocоl - «протокол передачи гипертекста») - протокол прикладного уровня передачи данных (изначально - в виде гипертекстовых документов).80-й порт - это порт web серверов.Порты 80-83 отвечают за работу по HTTP протоколу.
10. POP3. 110-ый (Opera POP3 connection) порт отвечает за отправку и получение почты.
11. Network Time Protocol (NTP) - сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.Настройка службы времени (NTP) в Windows 2003 / 2008 / 2008 R2 ... с источником осуществляется по протоколу NTP - 123 порт UDP.
12. IMAP (англ. Internet Message Access Protocol) - протокол прикладного уровня для доступа к электронной почте.Он базируется на транспортном протоколе TCP и использует порт 143.
13. SNMP (англ. Simple Network Management Protocol - простой протокол управления сетями) - это протокол управления сетями связи на основе архитектуры UDP. Устройства, которые обычно поддерживают SNMP это маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры, модемы и т.д.SNMP service:
Использует Windows Sockets API.
Посылает и получает сообщения, используя UDP (порт 161) и использует IP для поддержки маршрутизации SNMP сообщений.
Поставляется с дополнительными библиотеками (DLL) для поддержки нестандартных MIB.
Включает Microsoft Win32 SNMP менеджер API для упрощения разработки SNMP приложений.
14. HTTPS (Hypertext Transfer Protocol Secure) - расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTPS, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443.
15. MySQL - свободная система управления базами данных.ОДНО НО mysql не работает.(ПРЕКРАТИЛ РАБОТУ НА n ВРЕМЕНИ)
16. 3055-локальная сеть.
17. RDP (англ. Remote Desktop Protocol - протокол удалённого рабочего стола) - проприетарный протокол прикладного уровня, купленный Microsoft у Citrix, использующийся для обеспечения удалённой работы пользователя с сервером, на котором запущен сервис терминальных подключений. Клиенты существуют практически для всех версий Windows (включая Windows CE и Mobile), Linux, FreeBSD, Mac OS X, Android, Symbian. По умолчанию используется порт TCP 3389.
18. ICQ Сервеер.
19. XMPP (Extensible Messaging and Presence Protocol - расширяемый протокол обмена сообщениями и информацией о присутствии), ранее известный как Jabber.
5222/5223 - клиент-сервер, 5269 - сервер.
20. Traceroute - это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. (в некоторых источниках указано, что достаточно указать диапазон портов от 33434 до 33534)
21. BitTórrent (букв. англ. «битовый поток») - пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.6969, 6881-6889 порты для доступа торрент- клиентов.
20:11:35 20Транспортный уровень
Задача транспортного уровня - это передача данных между различными приложениями, выполняемых на всех узлах сети. После того, как пакет доставляется с помощью IP-протокола на принимающий компьютер, данные должны быть отправлены специальному процессу-получателю. Каждый компьютер может выполнять несколько процессов, кроме того, приложение может иметь несколько точек входа, действуя в качестве адреса назначения для пакетов данных.
Пакеты, приходящие на транспортный уровень операционной системы организованы в множества очередей к точкам входа различных приложений. В терминологии TCP/IP такие точки входа называются портами.
Transmission Control Protocol
Transmission Control Protocol (TCP) (протокол управления передачей) - является обязательным протоколом стандарт TCP/IP , определенный в стандарте RFC 793, "Transmission Control Protocol (TCP)".
TCP - это протокол транспортного уровня, предоставляющий транспортировку (передачу) потока данных, с необходимостью предварительного установления соединения, благодаря чему гарантирует уверенность в целостности получаемых данных, также выполняет повторный запрос данных в случае потери данных или искажения. Помимо этого протокол TCP отслеживает дублирование пакетов и в случае обнаружения - уничтожает дублирующиеся пакеты.
В отличие от протокола UDP гарантирует целостность передаваемых данных и подтверждения отправителя о результатах передачи. Используется при передаче файлов, где потеря одного пакета может привести к искажению всего файла.
TCP обеспечивает свою надежность благодаря следующему:
- Данные от приложения разбиваются на блоки определенного размера, которые будут отправлены.
- Когда TCP посылает сегмент, он устанавливает таймер, ожидая, что с удаленного конца придет подтверждение на этот сегмент. Если подтверждение не получено по истечении времени, сегмент передается повторно.
- Когда TCP принимает данные от удаленной стороны соединения, он отправляет подтверждение. Это подтверждение не отправляется немедленно, а обычно задерживается на доли секунды
- TCP осуществляет расчет контрольной суммы для своего заголовка и данных. Это контрольная сумма, рассчитываемая на концах соединения, целью которой является выявить любое изменение данных в процессе передачи. Если сегмент прибывает с неверной контрольной суммой, TCP отбрасывает его и подтверждение не генерируется. (Ожидается, что отправитель отработает тайм-аут и осуществит повторную передачу.)
- Так как TCP сегменты передаются в виде IP датаграмм, а IP датаграммы могут прибывать беспорядочно, также беспорядочно могут прибывать и TCP сегменты. После получения данных TCP может по необходимости изменить их последовательность, в результате приложение получает данные в правильном порядке.
- Так как IP датаграмма может быть продублирована, принимающий TCP должен отбрасывать продублированные данные.
- TCP осуществляет контроль потока данных. Каждая сторона TCP соединения имеет определенное пространство буфера. TCP на принимающей стороне позволяет удаленной стороне посылать данные только в том случае, если получатель может поместить их в буфер. Это предотвращает от переполнения буферов медленных хостов быстрыми хостами.
- Порядковый номер выполняет две задачи:
- Если установлен флаг SYN, то это начальное значение номера последовательности - ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1.
- В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности.
- Номер подтверждения - если установлен флаг ACK, то это поле содержит номер последовательности, ожидаемый получателем в следующий раз. Помечает этот сегмент как подтверждение получения.
- Длина заголовка - задается словами по 32бита.
- Размер окна - количество байт, которые готов принять получатель без подтверждения.
- Контрольная сумма - включает псевдо заголовок, заголовок и данные.
- Указатель срочности - указывает последний байт срочных данных, на которые надо немедленно реагировать.
- URG - флаг срочности, включает поле "Указатель срочности", если =0 то поле игнорируется.
- ACK - флаг подтверждение, включает поле "Номер подтверждения, если =0 то поле игнорируется.
- PSH - флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.
- RST - флаг прерывания соединения, используется для отказа в соединении
- SYN - флаг синхронизация порядковых номеров, используется при установлении соединения.
- FIN - флаг окончание передачи со стороны отправителя
Рассмотрим структуру заголовка TCP с помощью сетевого анализатора Wireshark:
TCP порты
Так как на одном и том же компьютере могут быть запущены несколько программ, то для доставки TCP-пакета конкретной программе, используется уникальный идентификатор каждой программы или номер порта.
Номер порта - это условное 16-битное число от 1 до 65535, указывающее, какой программе предназначается пакет.
TCP порты используют определенный порт программы для доставки данных, передаваемых с помощью протокола управления передачей (TCP). TCP порты являются более сложными и работают иначе, чем порты UDP. В то время как порт UDP работает как одиночная очередь сообщений и как точка входа для UDP-соединения, окончательной точкой входа для всех соединений TCP является уникальное соединение. Каждое соединение TCP однозначно идентифицируется двумя точками входа.
Каждый отдельный порт сервера TCP может предложить общий доступ к нескольким соединениям, потому что все TCP соединения идентифицируются двумя значениями: IP-адресом и TCP портом (сокет).
Все номера портов TCP, которые меньше чем 1024 - зарезервированы и зарегистрированы в Internet Assigned Numbers Authority (IANA).
Номера портов UDP и TCP не пересекаются.
TCP программы используют зарезервированные или хорошо известные номера портов, как показано на следующем рисунке.
Установление соединения TCP
Давайте теперь посмотрим, как устанавливается TCP-соединения. Предположим, что процесс, работающий на одном хосте, хочет установить соединение с другим процессом на другом хосте. Напомним, что хост, который инициирует соединение называется «клиентом», в то время как другой узел называется «сервером».
Перед началом передачи каких-либо данных, согласно протоколу TCP, стороны должны установить соединение. Соединение устанавливается в три этапа (процесс «трёхкратного рукопожатия» TCP).
- Запрашивающая сторона (которая, как правило, называется клиент) отправляет SYN сегмент, указывая номер порта сервера, к которому клиент хочет подсоединиться, и исходный номер последовательности клиента (ISN).
- Сервер отвечает своим сегментом SYN, содержащим исходный номер последовательности сервера. Сервер также подтверждает приход SYN клиента с использованием ACK (ISN + 1). На SYN используется один номер последовательности.
- Клиент должен подтвердить приход SYN от сервера своим сегментов SYN, содержащий исходный номер последовательности клиента (ISN+1) и с использованием ACK (ISN+1). Бит SYN установлен в 0, так как соединение установлено.
После установления соединения TCP, эти два хоста могут передавать данные друг другу, так как TCP-соединение является полнодуплексным, они могут передавать данные одновременно.
Всем привет сегодня расскажу чем отличается протокол TCP от UDP. Протоколы транспортного уровня, следующие в иерархии за IP, используются для передачи данных между прикладными процессами, реализующимися в сетевых узлах. Пакет данных, поступивший от одного компьютера другому через Интернет, должен быть передан процессу-обработчику, и именно по конкретному назначению. Транспортный уровень принимает на себя ответственность за это. На этом уровне два основных протокола – TCP и UDP.
Что означают TCP и UDP
TCP – транспортный протокол передачи данных в сетях TCP/IP, предварительно устанавливающий соединение с сетью.
UDP – транспортный протокол, передающий сообщения-датаграммы без необходимости установки соединения в IP-сети.
Напоминаю, что оба протокола работают на транспортном уровне модели OSI или TCP/IP, и понимание того чем они отличаются очень важно.
Разница между протоколами TCP и UDP
Разница между протоколами TCP и UDP – в так называемой “гарантии доставки”. TCP требует отклика от клиента, которому доставлен пакет данных, подтверждения доставки, и для этого ему необходимо установленное заранее соединение. Также протокол TCP считается надежным, тогда как UDP получил даже именование “протокол ненадежных датаграмм. TCP исключает потери данных, дублирование и перемешивание пакетов, задержки. UDP все это допускает, и соединение для работы ему не требуется. Процессы, которым данные передаются по UDP, должны обходиться полученным, даже и с потерями. TCP контролирует загруженность соединения, UDP не контролирует ничего, кроме целостности полученных датаграмм.
С другой стороны, благодаря такой не избирательности и бесконтрольности, UDP доставляет пакеты данных (датаграммы) гораздо быстрее, потому для приложений, которые рассчитаны на широкую пропускную способность и быстрый обмен, UDP можно считать оптимальным протоколом. К таковым относятся сетевые и браузерные игры, а также программы просмотра потокового видео и приложения для видеосвязи (или голосовой): от потери пакета, полной или частичной, ничего не меняется, повторять запрос не обязательно, зато загрузка происходит намного быстрее. Протокол TCP, как более надежный, с успехом применяется даже в почтовых программах, позволяя контролировать не только трафик, но и длину сообщения и скорость обмена трафиком.
Давайте рассмотрим основные отличия tcp от udp.
- TCP гарантирует доставку пакетов данных в неизменных виде, последовательности и без потерь, UDP ничего не гарантирует.
- TCP нумерует пакеты при передаче, а UDP нет
- TCP работает в дуплексном режиме, в одном пакете можно отправлять информацию и подтверждать получение предыдущего пакета.
- TCP требует заранее установленного соединения, UDP соединения не требует, у него это просто поток данных.
- UDP обеспечивает более высокую скорость передачи данных.
- TCP надежнее и осуществляет контроль над процессом обмена данными.
- UDP предпочтительнее для программ, воспроизводящих потоковое видео, видеофонии и телефонии, сетевых игр.
- UPD не содержит функций восстановления данных
Примерами UDP приложений, например можно привести, передачу DNS зон, в Active Directory, там не требуется надежность. Очень часто такие вопросы любят спрашивать на собеседованиях, так, что очень важно знать tcp и udp отличия.
Заголовки TCP и UDP
Давайте рассмотрим как выглядят заголовки двух транспортных протоколов, так как и тут отличия кардинальные.
Заголовок UDP
- 16 битный порт источника > Указание порта источника для UDP необязательно. Если это поле используется, получатель может отправить ответ этому порту.
- 16 битный порт назначения > Номер порта назначения
- 16 битная длина UDP > Длина сообщения, включая заголовок и данные.
- 16 битная контрольная сумма > Контрольная сумма заголовка и данных для проверки
Заголовок TCP
- 16 битный порт источника > Номер порта источника
- 16 битный порт назначения > Номер порта назначения
- 32 битный последовательный номер > Последовательный номер генерируется источником и используется назначением, чтобы переупорядочить пакеты для создания исходного сообщения и отправить подтверждение источнику.
- 32 битный номер подтверждения > Если установлен бит АСК поля "Управление", в данном поле содержит следующий ожидаемый последовательный номер.
- 4 бита длина заголовка > Информация о начале пакета данных.
- резерв > Резервируются для будущего использования.
- 16 битная контрольная сумма > Контрольная сумма заголовка и данных; по ней определяется, был ли искажен пакет.
- 16 битный указатель срочности > В этом поле целевое устройство получает информацию о срочности данных.
- Параметры > Необязательные значения, которые указываются при необходимости.
Размер окна позволяет экономить трафик, рассмотрим когда его значение равно 1, тут на каждый отправленный ответ, отправитель ждет подтверждения, не совсем рационально.
При размере окна 3, отправитель отправляет уже по 3 кадра, и ждет от 4, который подразумевает, что все три кадра у него есть, +1.
Надеюсь у вас теперь есть представления об отличиях tcp udp протоколов.
Источники: Википедия, Майкрософт, portscan.ru
Как узнать, какие порты открыты на компьютере?
- Для Windows: Пуск → «cmd» → Запустить от имени администратора → «netstat -bn»
- В антивируснике, таком как Avast, есть возможность посмотреть активные порты в Брандмауэре: инструменты -> Брандмауэр -> Сетевые соединения.
Также полезные команды netstat:
To display both the Ethernet statistics and the statistics for all protocols, type the following command:
netstat -e -s
To display the statistics for only the TCP and UDP protocols, type the following command:
netstat -s -p tcp udp
To display active TCP connections and the process IDs every 5 seconds, type the following command:
nbtstat -o 5
To display active TCP connections and the process IDs using numerical form, type the following command:
nbtstat -n -o
Для сокетов TCP допустимы следующие значения состояния:
CLOSED | Закрыт. Сокет не используется. |
LISTEN (LISTENING) | Ожидает входящих соединений. |
SYN_SENT | Активно пытается установить соединение. |
SYN_RECEIVED | Идет начальная синхронизация соединения. |
ESTABLISHED | Соединение установлено. |
CLOSE_WAIT | Удаленная сторона отключилась; ожидание закрытия сокета. |
FIN_WAIT_1 | Сокет закрыт; отключение соединения. |
CLOSING | Сокет закрыт, затем удаленная сторона отключилась; ожидание подтверждения. |
LAST_ACK | Удаленная сторона отключилась, затем сокет закрыт; ожидание подтверждения. |
FIN_WAIT_2 | Сокет закрыт; ожидание отключения удаленной стороны. |
TIME_WAIT | Сокет закрыт, но ожидает пакеты, ещё находящиеся в сети для обработки |
Список наиболее часто используемых портов
№ | Порт | Протокол | Описание | |
---|---|---|---|---|
1 | 20 | FTP Data | File Transfer Protocol - протокол передачи файлов. Порт для данных. | |
2 | 21 | FTP Control | File Transfer Protocol - протокол передачи файлов. Порт для команд. | |
3 | 22 | SSH | Secure SHell - «безопасная оболочка». Протокол удаленного управления операционной системой. | |
4 | 23 | telnet | TErminaL NETwork. Протокол реализации текстового интерфейса по сети. | |
5 | 25 | SMTP | Simple Mail Transfer Protocol - простой протокол передачи почты. | |
6 | 42 | WINS | Windows Internet Name Service. Служба сопоставления NetBIOS-имён компьютеров с IP-адресами узлов. | |
7 | 43 | WHOIS | «Who is». Протокол получения регистрационных данных о владельцах доменных имён и IP адресах. | |
8 | 53 | DNS | Domain Name System - система доменных имён. | |
9 | 67 | DHCP | Dynamic Host Configuration Protocol - протокол динамической настройки узла. Получение динамических IP. | |
10 | 69 | TFTP | Trivial File Transfer Protocol - простой протокол передачи файлов. | |
11 | 80 | HTTP/Web | HyperText Transfer Protocol - протокол передачи гипертекста. | |
12 | 110 | POP3 | Post Office Protocol Version 3 - протокол получения электронной почты, версия 3. | |
13 | 115 | SFTP | SSH File Transfer Protocol. Протокол защищенной передачи данных. | |
14 | 123 | NTP | Network Time Protocol. Протокол синхронизации внутренних часов компьютера. | |
15 | 137 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба имен. | |
16 | 138 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба соединения. | |
17 | 139 | NetBIOS | Network Basic Input/Output System. Протокол обеспечения сетевых операций ввода/вывода. Служба сессий. | |
18 | 143 | IMAP | Internet Message Access Protocol. Протокол прикладного уровня для доступа к электронной почте. | |
19 | 161 | SNMP | Simple Network Management Protocol - простой протокол сетевого управления. Управление устройствами. | |
20 | 179 | BGP | Border Gateway Protocol, протокол граничного шлюза. Протокол динамической маршрутизации. | |
21 | 443 | HTTPS | HyperText Transfer Protocol Secure) - протокол HTTP, поддерживающий шифрование. | |
22 | 445 | SMB | Server Message Block. Протокол удалённого доступа к файлам, принтерам и сетевым ресурсам. | |
23 | 514 | Syslog | System Log. Протокол отправки и регистрации сообщений о происходящих системных событиях. | |
24 | 515 | LPD | Line Printer Daemon. Протокол удаленной печати на принтере. | |
25 | 993 | IMAP SSL | Протокол IMAP, поддерживающий SSL шифрование. | |
26 | 995 | POP3 SSL | Протокол POP3 поддерживающий SSL шифрование. | |
27 | 1080 | SOCKS | SOCKet Secure. Протокол получения защищенного анонимного доступа. | |
28 | 1194 | OpenVPN | Открытая реализация технологии Виртуальной Частной Сети (VPN). | |
29 | 1433 | MSSQL | Microsoft SQL Server - система управления базами данных. Порт доступа к базе. | |
30 | 1702 | L2TP (IPsec) | Протокол поддержки виртуальных частных сетей. А также набор протоколов обеспечения защиты данных. | |
31 | 1723 | PPTP | Туннельный протокол защищённого соединения с сервером типа точка-точка. | |
32 | 3128 | Proxy | В данный момент порт часто используется прокси-серверами. | |
33 | 3268 | LDAP | Lightweight Directory Access Protocol - облегчённый протокол доступа к каталогам (службе каталогов). | |
34 | 3306 | MySQL | Доступ к MySQL базам данных. | |
35 | 3389 | RDP | Remote Desktop Protocol - протокол удалённого рабочего стола для Windows. | |
36 | 5432 | PostgreSQL | Доступ к PostgreSQL базам данных. | |
37 | 5060 | SIP | Протокол установления сеанса и передачи мультимедиа содержимого. | |
38 | 5900 | VNC | Virtual Network Computing - система удалённого доступа к рабочему столу компьютера. | |
39 | 5938 | TeamViewer | TeamViewer - система обеспечения удалённого контроля компьютера и обмена данными. | |
40 | 8080 | HTTP/Web | Альтернативный порт для HTTP протокола. Иногда используется прокси-серверами. | |
41 | 10000 | NDMP | Популярный порт: Webmin, SIP-голос, VPN IPSec over TCP. | |
42 | 20000 | DNP |
Экран 1. Базовый сеанс сканирования Nmap |
- Порт 135 используется функцией отображения конечных точек RPC, реализованной во многих технологиях Windows - например, приложениях COM/DCOM, DFS, журналах событий, механизмах репликации файлов, формирования очередей сообщений и Microsoft Outlook. Данный порт должен быть блокирован в брандмауэре на периметре сети, но трудно закрыть его и одновременно сохранить функциональность Windows.
- Порт 139 используется сеансовой службой NetBIOS, которая активизирует браузер поиска других компьютеров, службы совместного использования файлов, Net Logon и службу сервера. Его трудно закрыть, как и порт 135.
- Порт 445 используется Windows для совместной работы с файлами. Чтобы закрыть этот порт, следует блокировать File and Printer Sharing for Microsoft Networks. Закрытие этого порта не мешает соединению компьютера с другими удаленными ресурсами; однако другие компьютеры не смогут подключиться к данной системе.
- Порты 1025 и 1026 открываются динамически и используются другими системными процессами Windows, в частности различными службами.
- Порт 3389 используется Remote Desktop, которая не активизирована по умолчанию, но на моем тестовом компьютере активна. Чтобы закрыть порт, следует перейти к вкладке Remote в диалоговом окне System Properties и сбросить флажок Allow users to connect remotely to this computer.
Обязательно следует выполнить поиск открытых портов UDP и закрыть лишние. Программа сканирования показывает открытые порты компьютера, которые видны из сети. Аналогичные результаты можно получить с помощью инструментов, расположенных на хост-системе.
Хост-сканирование
Помимо использования сетевого сканера портов, открытые порты на хост-системе можно обнаружить с помощью следующей команды (запускается на хост-системе):
Netstat -an
Эта команда работает как в Windows, так и в UNIX. Netstat выдает список активных портов компьютера. В Windows 2003 Windows XP следует добавить параметр -o, чтобы получить соответствующий идентификатор процесса (program identifier - PID). На экране 2 показаны выходные результаты Netstat для того же компьютера, сканирование портов которого выполнялось ранее. Следует обратить внимание на то, что закрыто несколько портов, которые прежде были активны.
Аудит журнала брандмауэра
Еще один полезный способ обнаружения сетевых приложений, которые отправляют или получают данные по сети, - собирать и анализировать больше данных в журнале брандмауэра. Записи Deny, в которых приводится информация с внешнего интерфейса брандмауэра, вряд ли будут полезны из-за «шумового трафика» (например, от червей, сканеров, тестирования по ping), засоряющего Internet. Но если записывать в журнал разрешенные пакеты с внутреннего интерфейса, то можно увидеть весь входящий и исходящий сетевой трафик.
Чтобы увидеть «сырые» данные трафика в сети, можно установить сетевой анализатор, который подключается к сети и записывает все обнаруженные сетевые пакеты. Самый широко распространенный бесплатный сетевой анализатор - Tcpdump для UNIX (версия для Windows называется Windump), который легко устанавливается на компьютере. После установки программы следует настроить ее для работы в режиме приема всех сетевых пакетов, чтобы регистрировать весь трафик, а затем подключить к монитору порта на сетевом коммутаторе и отслеживать весь трафик, проходящий через сеть. О настройке монитора порта будет рассказано ниже. Tcpdump - чрезвычайно гибкая программа, с помощью которой можно просматривать сетевой трафик с использованием специализированных фильтров и показывать только информацию об IP-адресах и портах либо все пакеты. Трудно просмотреть сетевые дампы в больших сетях без помощи соответствующих фильтров, но следует соблюдать осторожность, чтобы не потерять важные данные.
Объединение компонентов
До сих пор мы рассматривали различные методы и инструменты, с помощью которых можно обнаружить приложения, использующие сеть. Пришло время объединить их и показать, как определить открытые сетевые порты. Поразительно, как «болтливы» компьютеры в сети! Во-первых, рекомендуется познакомиться с документом Microsoft «Service overview and network port requirements for the Windows Server system» (http://support.microsoft.com/default.aspx?scid=kb;en-us;832017 ), в котором перечислены протоколы (TCP и UDP) и номера портов, используемые приложениями и большинством основных служб Windows Server. В документе описаны эти службы и используемые ими ассоциированные сетевые порты. Рекомендуется загрузить и распечатать это полезное для администраторов сетей Windows справочное руководство.
Настройка сетевого анализатора
Ранее отмечалось, что один из способов определить порты, используемые приложениями, - отслеживать трафик между компьютерами с помощью сетевого анализатора. Чтобы увидеть весь трафик, необходимо подключить сетевой анализатор к концентратору или монитору портов в коммутаторе. Каждому порту концентратора виден весь трафик каждого компьютера, подключенного к этому концентратору, но концентраторы - устаревшая технология, и большинство компаний заменяют их коммутаторами, которые обеспечивают хорошую производительность, но неудобны для анализа: каждый порт коммутатора принимает только трафик, направляемый одному компьютеру, подключенному к данному порту. Чтобы анализировать всю сеть, нужно отслеживать трафик, направляемый в каждый порт коммутатора.
Для этого требуется настроить монитор порта (разные поставщики называют его span port или mirrored port) в коммутаторе. Установить монитор порта в коммутаторе Cisco Catalyst компании Cisco Systems не составляет труда. Нужно зарегистрироваться на коммутаторе и активизировать режим Enable, затем перейти в режим configure terminal и ввести номер интерфейса порта коммутатора, на который следует посылать весь контролируемый трафик. Наконец, необходимо указать все отслеживаемые порты. Например, следующие команды обеспечивают мониторинг трех портов Fast Ethernet и пересылку копии трафика в порт 24.
Interface FastEthernet0/24 port monitor FastEthernet0/1 port monitor FastEthernet0/2 port monitor FastEthernet0/3 end
В данном примере сетевой анализатор, подключенный к порту 24, будет просматривать весь исходящий и входящий трафик компьютеров, подключенных к первым трем портам коммутатора. Для просмотра созданной конфигурации следует ввести команду
Write memory
Первоначальный анализ
Рассмотрим пример анализа данных, проходящих через сеть. Если для сетевого анализа используется компьютер Linux, то можно получить исчерпывающее представление о типе и частоте пакетов в сети с помощью такой программы, как IPTraf в режиме Statistical. Детали трафика можно выяснить с использованием программы Tcpdump.