# Сканирование сетей. Лабораторная работа №3 (HW)

## Ход работы

1. Просканируем машину `ubuntu` с помощью команды `nmap -sV 192.168.103.100`
   
![alt text](img/image01.png)

Мы обнаружили 2 сервиса на `21/tcp` и `22/tcp`, определили их тип `FTP` и `SSH` и обнаружили версию этих пакетов. Также мы смогли определить, что используется ОС Linux, о чем говорит следующее: `Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel`

2. С помощью `docker-compose` запустим на машине сервер `PostgreSQL`.

```yaml
version: '3.3'

services:
  postgres:
    image: library/postgres:16.2
    volumes:
      - postgres-data:/var/lib/postgresql
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: 1337
    ports:
      - '5432:5432'
    restart: always

volumes:
  postgres-data:
```

![alt text](img/image02.png)

3. Снова просканируем машину `ubuntu` с помощью команды `nmap -sV 192.168.103.100`

![alt text](img/image03.png)

В этот раз мы обнаружили сервис `PostgreSQL`. Nmap попробовал определить его версию, но, судя по предупреждению, ему это не удалось. Также nmap сообщает, что якобы имеется ещё один нераспознанный сервис.

4. Просканируем нестандартный порт `2839/tcp` из лабораторной №2 и порт Postgresql `5432/tcp`, указывая уровни интенсивности от 1 до 9.

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 1`

![alt text](img/1.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 2`

![alt text](img/2.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 3`

![alt text](img/3.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 4`

![alt text](img/4.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 5`

![alt text](img/5.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 6`

![alt text](img/6.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 7`

![alt text](img/7.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 8`

![alt text](img/8.png)

`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 9`

![alt text](img/9.png)


Как мы видим, при интенсивности 1-6, мы получаем информацию только о Nginx и Postgres. При 7-8, мы дополнительно видим информацию о несущствующем сервисе. При 10 Postgres начинает определяться как `Nagios NSCA 9.6.0 or later`, что не соответствует действительности.


## Выводы

Мы рассмотрели работу утилиты `nmap`, а конкретно функционал определения сервисов, который позволяет подробнее понять, что за сервис скрывается за портом. Также мы поняли, что `nmap` пытаться определить сервис с разной интенсивностью, что может как помочь, так и запутать при аудите хоста.

**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.