Персональный проект по тестированию стабильности интернета, предназначенный для использования в Linux и Windows. Этот инструмент может отправлять указанное количество пингов в секунду и генерирует график, иллюстрирующий время ответа пинг, чтобы указать на стабильность соединения. Вдохновлен packetlosstest.com
.
Эта программа теперь включает в себя функциональность графического интерфейса. См. «Использование» для получения более подробной информации.
Этот скрипт написан на Python3.
Требования можно установить с помощью следующих команд в Linux:
sudo apt install python3-tk &&
sudo apt install traceroute &&
pip install matplotlib &&
pip install numpy
Измените по мере необходимости в зависимости от вашего менеджера пакетов. В Windows вместо traceroute
используется tracert
, и она уже должна быть установлена. Tkinter также может быть установлен с Python3, я не совсем уверен, поскольку видел оба варианта.
В Linux клонируйте репозиторий и либо запустите файл pingtest
с помощью Python3, либо используйте команду chmod a+x pingtest
чтобы сделать программу исполняемой как скрипт.
В Windows клонируйте репозиторий и запустите файл pingtest
с помощью Python3.
ПРИМЕЧАНИЕ. В Linux, если многопоточность не используется, требуются привилегии sudo из-за небольших интервалов, используемых в команде ping
. Если вы запустите программу ни с помощью sudo, ни с многопоточностью, она может запросить у вас пароль во время выполнения.
ПРИМЕЧАНИЕ. В Windows, если многопоточность не используется, максимальный интервал между проверками связи составляет всего одну секунду. Это противоречит цели программы, поэтому настоятельно рекомендуется использовать флаг -T
для включения многопоточности, поскольку это позволяет выполнять более одного пинг-запроса в секунду.
Следуя примечаниям по установке, запустите ./pingtest
или python3 pingtest
в Linux или python3 pingtest.py
в Windows, а затем установите любые нужные флаги.
Программа теперь использует флаги/аргументы командной строки для установки параметров теста. Справку можно отобразить с помощью ./pingtest -h
:
usage: pingtest [-h] [-G] [-a <address>] [-d <seconds>] [-f <pings/second>] [-t <milliseconds>] [-T]
____ ____ ____ ____ ______ ___ _____ ______
| || / || | / _]/ ___/| |
| o ) | | _ || __|| | / [_( _ | |
| _/| | | | || | ||_| |_|| _]__ ||_| |_|
| | | | | | || |_ | | | | [_ / | | |
| | | | | | || | | | | | | | |
|__| |____||__|__||___,_| |__| |_____| ___| |__|
Pingtest program by mire
https://github.com/itsonlyMiRE/pingtest
optional arguments:
-h, --help show this help message and exit
-G use GUI (all other flags are ignored if this is used)
-a <address> address to ping (or use '-a F' to use first hop router)
-d <seconds> duration of test (DEFAULT: 10)
-f <pings/second> frequency in pings per second (DEFAULT: 50, but 1 on Windows unless using threading)
-t <milliseconds> threshold of acceptable ping time (DEFAULT: 60)
-T enable threading approach (highly recommended for Windows users)
Обратите внимание, что необходимо использовать флаг -a или -G. Если для запуска графического интерфейса используется флаг -G, все остальные флаги игнорируются.
Как написано, эту программу можно использовать только в Linux. Ее можно реализовать для Windows, но команда ping
в Windows не допускает очень малых интервалов между проверками связи, что полезно для получения точных данных.
Доступно в Windows. Резьба настоятельно рекомендуется.
Нет планов по реализации для MacOS