• Bash Скрипт для Массовой Отправки Писем
  • Отправить Почту через SMTP Сервер используя Командную Строку
  • Забрать Почту с POP3 Сервера используя Командную Строку
  • Отправка Сообщения другому Пользователю через Терминал
  • Создать Ссылку на Файл или Папку
  • Находим Активные Компьютеры в Локальной Сети
  • 20 Потрясающих Примеров Команды Nmap

Bash Скрипт для Массовой Отправки Писем

Чтобы предотвратить злоупотребление и запретить массовую рассылку писем через SMTP сервер, рекомендуется ограничить максимальное количество сообщений доступное для отправки каждому пользователю.

Допустим мы ввели ограничение на максимальное количество писем для отправки, но как нам проверить что ограничение работает?

Самый лучший способ — это поставь себя на место спамера и попробовать осуществить массовую отправку писем используя наш SMTP сервера в качестве relay.

Из Командной Строки в Linux, мы можем создать простой Bash Скрипт, который осуществит отправку большого количества тестовых сообщений.

Тестирование Массовой Рассылки Писем

Используйте следующий Bash Скрипт на Linux машине для отправки 1000тестовых писем на email example@mail.tld :

#!/bin/bash
for i in {1..1000}; do
	echo "Test" | $(which mail) -s "Test Message №$i" "example@mail.tld"
done

Отправить Почту через SMTP Сервер используя Командную Строку

SMTP (Simple Mail Transfer Protocol) — это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

В данной инструкции показано, как с помощью команды ‘telnet’ подключаться к почтовому SMTP серверу и отправлять электронную почту.

Шаг 1 : Открываем соединение к почтовому SMTP серверу с Вашего компьютера
$ telnet smtp.domain.ext 25
220 smtp.domain.ext ESMTP Sendmail ?version-number?; ?date+time+gmtoffset?

  • smtp.domain.ext — Ваш почтовый сервер;
  • 25 — Порт по умолчанию для SMTP.

Шаг 2 : Представляемся сервису и указываем свое доменное имя или IP-адрес

В качестве параметра HELO можно задать local.domain.name или все что угодно, поскольку сервер не выполняет проверку его достоверности, что является одним из недостатков данного протокола.
> HELO local.domain.name
250 smtp.domain.ext Hello local.domain.name [xxx.xxx.xxx.xxx], pleased to meet you
Шаг 3 : Указываем Email отправителя
> MAIL FROM: sender@adress.ext
250 2.1.0 sender@adress.ext… Sender ok
Шаг 4 : Указываем Email получателя
> RCPT TO: recipient@adress.ext
250 2.1.5 recipient@adress.ext… Recipient ok
Шаг 5 : Для написания сообщения, набираем DATA и нажимаем ‘Enter’
> DATA
354 Enter mail, end with «.» on a line by itself
Шаг 6 : В первой строке набираем ‘SUBJECT: Тема Письма’ и дважды жмем ‘Enter’
> SUBJECT: Test message
Шаг 7 : Продолжаем набирать текст письма
Hello,
this is a TEST message,
please don’t reply.
Thank you.
Шаг 8 : Для отправки письма, в последней строке поставьте только одну точку (.) и нажмите ‘Enter’
> .
250 2.0.0 ???????? Message accepted for delivery
Шаг 9 : Закройте соединение
> QUIT
221 2.0.0 server.com closing connection

Забрать Почту с POP3 Сервера используя Командную Строку

POP3 (Post Office Protocol Version 3) — стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера по TCP/IP-соединению.

В данной инструкции показано, как с помощью команды ‘telnet’ подключаться к почтовому POP3 серверу и управлять входящей почтой из командной строки.

Шаг 1 : Открываем соединение к почтовому POP3 серверу с Вашего компьютера
$ telnet pop.domain.ext 110
Trying ???.???.???.???…
Connected to pop.domain.ext.
Escape character is ‘^]’.
+OK ready

  • pop.domain.ext — Ваш почтовый сервер;
  • 110 — Порт по умолчанию для POP3.

Шаг 2 : Вводим логин
> USER логин
+OK Password required for UserName.
Шаг 3 : Вводим пароль
> PASS пароль
+OK username has ? visible messages (? hidden) in ????? octets.

POP3 Команды с Описанием

Ниже приведены основные POP3 команды, которые можно использовать для управления почтовым ящиком.

Команда Описание Пример
USER [логин] Имя пользователя USER Stan
+OK Please enter a password
PASS [пароль] Пароль PASS SeCrEt
+OK valid logon
QUIT Выйти и сохранить изменения QUIT
+OK Bye-bye.
STAT Показать общее колличество почтовых сообщений и их рамер. STAT
+OK 2 320
LIST Показать список всех сообщения LIST
+OK 2 messages (320 octets)
1 120
2 200

LIST 2
+OK 2 200
RETR [message] Показать всё сообщение RETR 1
+OK 120 octets follow.
***
DELE [message] Удалить указанное сообщение DELE 2
+OK message deleted
NOOP POP3 сервер ничего не делает, он просто возвращает положительный ответ NOOP
+OK
RSET Не удалять сообщения, в случае, если ранее какие-либо сообщения были помечены для удаления. RSET
+OK maildrop has 2 messages (320 octets)
TOP [message] [number] Показать заголовки и указанное колличество строк в сообщениии. TOP 1 10
+OK
***

Отправка Сообщения другому Пользователю через Терминал

Для отправки сообщения другому пользователю, который занял сессию в этой же системе, используется команда write.

Программа write позволяет общаться с другими пользователями, путем копирования строк из Вашего терминала в их.

Первым делом нам надо узнать кто в данный момент находится в системе и к какому терминалу подключен.
$ who
root pts/0 2012-04-25 12:57 (192.168.0.207)
john pts/1 2012-04-25 13:20 (192.168.0.101)

Теперь мы можем отправить сообщение пользователю John. Например :
$ write john pts/1
Привет!
Когда мы нажмем ‘Enter’, наше сообщение будет отправлено в его терминал.
Используйте Ctrl+D чтобы прервать write
Так же, через пайп, мы можем передавать содержимое файла :
$ cat file.txt | write stan pts/1

Для отправки широковещательного сообщения всем подключенным пользователям, используется команда wall (wall = write to all) :
$ wall
Hey you people!

С wall, сообщение будет отправлено только после того как Вы нажмете Ctrl+D

И конечно же, через пайп, мы можем всем передать содержимое файла используя команду wall :
$ cat announcement.txt | wall

Создать Ссылку на Файл или Папку

Символическая ссылка (еще известная как мягкая ссылка) — это особый файл (запись) который указывает на фактическое местоположения файла или папки на диске (как ярлык в Windows).

Символические ссылки постоянно используются для линкования библиотек и часто используются для линкования файлов и папок на удаленной файловой системе примонтированной по NFS.

Команда ln — это стандартная утилита в Linux для создания ссылок.

Ниже вы найдете как создавать символические ссылки на файлы и папки из командной строки в Linux.

Создание Ссылки в Linux

Используйте следующий синтаксис для создания символической ссылки в Linux:

$ ln -s <ЦЕЛЬ> <ИМЯССЫЛКИ>

Создание Ссылки на Файл

Создать символическую ссылку на файл:

$ ln -s /путь/к/файлу /путь/к/ссылке

Создание Ссылки на Директорию

Создать символическую ссылку на директорию:

$ ln -s /путь/к/папке /путь/к/ссылке

Находим Активные Компьютеры в Локальной Сети

Команды nmap и ping помогут просканировать локальную сеть и определить IP адреса подключенных компьютеров.

[nmap] Поиск Активных Компьютеров

Сканируем локальную сеть и ищем активные хосты с помощью команды nmap :

# Стандартный ICMP пинг
$ nmap -sn 192.168.1.0/24

Пример результата :

Starting Nmap 6.00 ( http://nmap.org ) at 2013-06-14 00:52 EEST
Nmap scan report for 192.168.1.1
Host is up (0.0031s latency).
Nmap scan report for 192.168.1.101
Host is up (0.00097s latency).
Nmap scan report for 192.168.1.102
Host is up (0.065s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.98 seconds

[ping] Поиск Активных Хостов в LAN

Используйте следующих скрипт, чтобы найти в локальной сети компьютеры, отвечающие на ping:

$ echo 192.168.1.{1..254}|xargs -n1 -P0 ping -c1|grep «bytes from»

Пример результата :

64 bytes from 192.168.1.101: icmp_req=1 ttl=64 time=0.042 ms
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=37.4 ms
64 bytes from 192.168.1.102: icmp_req=1 ttl=64 time=208 ms

Обнаружение Компьютеров за Файерволом

Хосты, использующие сетевой экран (firewall), могут не отвечать на стандартные ICMP пинги.

Попробуйте следующие методы обнаружения подключенных хостов, если файервол блокирует стандартные ICMP пинги :

# TCP SYN Пинг
$ nmap -sn -PS 192.168.1.0/24

# TCP ACK Пинг
$ nmap -sn -PA 192.168.1.0/24

# UDP Пинг
$ nmap -sn -PU 192.168.1.0/24

# Пинг по IP Протоколу
$ nmap -sn -PO 192.168.1.0/24

# ARP Пинг
$ nmap -sn -PR 192.168.1.0/24

Последние три команды должны выполняться с правами пользователя root.

20 Потрясающих Примеров Команды Nmap

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес :

$ nmap 192.168.1.1

Сканировать сервер по Имени Хоста :

$ nmap xakinfo.ru

Увеличить Уровень Детализации результатов сканирования :

$ nmap -v xakinfo.ru
 $ nmap -vv xakinfo.ru

2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов :

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3
$ namp 192.168.1.1,2,3

Сканировать Подсеть :

$ nmap 192.168.1.0/24
$ nmap 192.168.1.*

Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200) :

$ nmap 192.168.1.0-200

3. Поиск Активных Компьютеров в Сети

Сканировать сеть в поиске Активных Хостов :

$ nmap -sn 192.168.1.0/24

4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла :

$ nmap -iL input.txt

Формат файла :

# Записи могут быть представлены в любом из форматов, с которыми работает
# Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные
# диапазоны). Записи должны разделятся одним или более пробелами, табуляциями
# или переходами на новую строку.
$ cat input.txt
xakinfo.ru
192.168.1.0/24
192.168.2.1,2,3
192.168.3.0-200

5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом :

$ nmap 192.168.1.0/24 --exclude 192.168.1.1
$ nmap 192.168.1.0/24 --exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 --exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла :

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.

6. Сканирование Определенных Портов

Сканировать Один Порт :

$ nmap -p 80 192.168.1.1

Сканировать Несколько Портов :

$ nmap -p 80,443 192.168.1.1

Сканировать Диапазон Портов :

$ nmap -p 80-1000 192.168.1.1

Сканировать Все Порты :

$ nmap -p "*" 192.168.1.1

Сканировать несколько самых Распространенных Портов :

$ nmap --top-ports 5 192.168.1.1
$ nmap --top-ports 10 192.168.1.1

7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост :

$ nmap -sO 192.168.1.1

8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты :

$ nmap -sT 192.168.1.1

Сканировать определенные TCP Порты :

$ nmap -p T:80 192.168.1.1

Сканировать все UDP Порты :

$ nmap -sU 192.168.1.1

Сканировать определенные UDP Порты :

$ nmap -p U:53 192.168.1.1

Объединение сканирования разных портов :

$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1

9. Быстрое Сканирование

Активировать Быстрый Режим сканирования :

$ nmap -F 192.168.1.1

* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.

10. Показывать Причину Состояния Порта

Показать Причину, по которой Nmap считает что порт находится в определенном состоянии :

$ nmap --reason 192.168.1.1

11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые) :

$ nmap --open 192.168.1.1

12. Определение ОС

Включить Определение ОС :

$ nmap -O 192.168.1.1

* Определяет удаленную операционную систему с помощью отпечатка стека TCP/IP.

13. Определение Версии Сервисов

Включить Определение Версии Сервисов :

$ nmap -sV 192.168.1.1

* Определяет версии программ, запущенных на удаленном сервере.

14. Обнаружение Файервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Файерволом :

$ nmap -sA 192.168.1.1

15. Подмена MAC Адреса

Подменить MAC Адреса :

$ nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом :

$ nmap --spoof-mac 0 192.168.1.1

16. Сканирование Файервола на Уязвимости

TCP Null сканирование :

$ nmap -sN 192.168.1.1

* Не устанавливаются никакие биты (Флагов в TCP заголовке).

TCP Fin сканирование :

$ nmap -sF 192.168.1.1

* Устанавливается только TCP FIN бит.

TCP Xmas сканирование :

$ nmap -sX 192.168.1.1

* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).

17. Скрытое Сканирование

TCP SYN сканирование :

$ nmap -sS 192.168.0.1

* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием :

$ nmap -Pn 192.168.1.1

19. Отключение Использования DNS

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса :

$ nmap -n 192.168.1.1

20. Сохранение Результатов Сканирования Nmap в Файл

Сохранить результат сканирования Nmap в Текстовый Файл :

$ nmap 192.168.1.1 > output.txt
$ nmap -oN output.txt 192.168.1.1

Сохранить результат сканирования Nmap в XML Файл :

$ nmap -oX output.xml 192.168.1.1
0 0 vote
Article Rating