Как проверить поведение сервера при потере сети на каждом возможном пакете - PullRequest
3 голосов
/ 15 сентября 2011

Я работаю с мобильным телефоном, поэтому ожидаю, что потеря сети будет распространена.Я делаю платежи, поэтому каждый запрос имеет значение.

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

Я подозреваю, что сервер будет вести себя немного иначе, если связь будет потеряна при отправке ответа по сравнению с ожиданием FIN-ACK, и я хочу знать,какие моменты разрыва соединений я могу различить.

Я попытался смоделировать http-запрос с использованием scapy и прервать связь между каждым TCP-пакетом.(То есть: сначала отправьте SYN, затем исчезните; затем отправьте SYN и получите SYN-ACK, а затем исчезните; затем отправьте SYN и получите SYN-ACK и отправьте ACK, а затем исчезните; и т. Д.) Однако я быстро увяз в деталяхпытаясь воспроизвести функциональный стек TCP.

Есть ли хороший инструмент для автоматизации / включения этого вида тестирования?

1 Ответ

2 голосов
/ 15 сентября 2011

Если ваше приложение на самом деле не отвечает и не генерирует свои собственные IP-пакеты (что было бы невероятно глупо), вам, вероятно, не нужно проводить тестирование на этом уровне.Простого тестирования на уровне TCP (например, connect(), send(), recv(), shutdown()), вероятно, будет достаточно, поскольку эти события - единственные, о которых ваш сервер будет знать.

...