Страницы

Поиск по вопросам

Показаны сообщения с ярлыком функциональное-тестирование. Показать все сообщения
Показаны сообщения с ярлыком функциональное-тестирование. Показать все сообщения

пятница, 20 декабря 2019 г.

Как автоматически вызывать обрыв ftp-соединения?

#linux #shell #ftp #функциональное_тестирование


Скрипт на python в ходе работы скачивает файлы с ftp-сервера. 

Процесс использует боевой ftp, и я не хотел бы усложнять процесс поднятием виртуалки
с тестовым ftp - работа скрипта чувствительна к содержимому и мне придется настраивать
обновление данных.

Нужно протестировать поведение при обрыве соединения в процессе скачивания. Желательно
делать это автоматически, то есть вручную делать kill myftpserver или выдергивание
шнура из сетевой карты — не вариант.

Таким образом, мне нужно либо обрывать текущее соединение прямо на тестовом сервере,
либо поднимать прокси, на нем ждать соединения и обрывать через секунду-другую. Не
представляю, как это реализовать. Нужно хотя бы название утилиты или команды, которой
я смогу отловить текущее соединение и оборвать его, либо блокировать все текущие соединения
на заданный ip.

Разумеется, тестирую я на тестовом инстансе. К нему есть root-доступ по ssh.
    


Ответы

Ответ 1



Думаю проще всего делать это с помощью iptables. Просто запрещать передавать пакеты, можно попробовать действия REJECT для быстрого обрыва или DROP для слета по таймауту. Простейшее правило (если задается на машине где тестируемая прога) типа iptables -I OUTPUT -d ip-ftp-сервера -j REJECT Добавлять можно простеньким скриптом на shell периодически делая задержки sleep, например. Или усложнить само правило и задействовать например connbytes. sudo iptables -I OUTPUT -d ip-ftp-сервера -m \ connbytes --connbytes 10000 --connbytes-dir both \ --connbytes-mode bytes -j REJECT должно оборвать соединение после прокачки по нему 10 килобайт. Если с iptables до этого не работали ... iptables -I добавляет правило. iptables -D с точно такими же параметрами, как были при добавлении - удаляет. iptables -L -nv покажет существующие правила

пятница, 9 ноября 2018 г.

Как автоматически вызывать обрыв ftp-соединения?

Скрипт на python в ходе работы скачивает файлы с ftp-сервера.
Процесс использует боевой ftp, и я не хотел бы усложнять процесс поднятием виртуалки с тестовым ftp - работа скрипта чувствительна к содержимому и мне придется настраивать обновление данных.
Нужно протестировать поведение при обрыве соединения в процессе скачивания. Желательно делать это автоматически, то есть вручную делать kill myftpserver или выдергивание шнура из сетевой карты — не вариант.
Таким образом, мне нужно либо обрывать текущее соединение прямо на тестовом сервере, либо поднимать прокси, на нем ждать соединения и обрывать через секунду-другую. Не представляю, как это реализовать. Нужно хотя бы название утилиты или команды, которой я смогу отловить текущее соединение и оборвать его, либо блокировать все текущие соединения на заданный ip.
Разумеется, тестирую я на тестовом инстансе. К нему есть root-доступ по ssh.


Ответ

Думаю проще всего делать это с помощью iptables. Просто запрещать передавать пакеты, можно попробовать действия REJECT для быстрого обрыва или DROP для слета по таймауту.
Простейшее правило (если задается на машине где тестируемая прога) типа iptables -I OUTPUT -d ip-ftp-сервера -j REJECT Добавлять можно простеньким скриптом на shell периодически делая задержки sleep, например.
Или усложнить само правило и задействовать например connbytes
sudo iptables -I OUTPUT -d ip-ftp-сервера -m \ connbytes --connbytes 10000 --connbytes-dir both \ --connbytes-mode bytes -j REJECT
должно оборвать соединение после прокачки по нему 10 килобайт.
Если с iptables до этого не работали ... iptables -I добавляет правило. iptables -D с точно такими же параметрами, как были при добавлении - удаляет. iptables -L -nv покажет существующие правила