Перейти к содержанию
    

Нужна утилита для измерения производительности сети

Добрый день! Есть ли готовая утилита, или набор утилит, чтобы отправить произвольный объём данных на некий сокет на сервере, там на сервере этот трафик будет "завёрнут" (отправлен) назад. Утилита должна принять его, сравнить с тем, чтоотправил, и вычислить скорость. Посоветовался с местными "линуксоидами", запугали меня тем, что нужно писать скрипт. Я в этом не ориентируюсь, мне уж проще написать прогу на си. Но желательно именно иметь готовую утилитку.

Спасибо!

P.S. Можно и другую утилитку. Пусть просто возвращает принятый трафик назад. Тогда прогу на сервере поправлю для расчёт скорости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитайте документацию на Iperf, Iperf3 + в сети полно примеров их использования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

57 minutes ago, Tanya said:

ping -f -s 10000

 Число - размер пакета.

Вот Вам скрипт.

Скорость оно не расчитывает. А правильность принятия этих 10000 байт проверяет, вы не в курсе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще клевая hping3, позволяет засыпать трилиардами пакетов канал, дабы проверить производительность пер-пакет.

Намного производительнее классик-пинг'а

Изменено пользователем shodan_x

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, haker_fox сказал:

Добрый день! Есть ли готовая утилита, или набор утилит, чтобы отправить произвольный объём данных на некий сокет на сервере, там на сервере этот трафик будет "завёрнут" (отправлен) назад.

Хоть терминологию немного подучите что-ль...

"некий сокет на сервере" - понятие бессмысленное, так как сокет - это уже установленное соединение между двумя TCP-портами. Пока не подключились к порту на сервере, никакого сокета нет.

Цитата

Утилита должна принять его, сравнить с тем, чтоотправил, и вычислить скорость.

Скорость чего нужна? Передачи данных в TCP-сокете? Приёма данных в TCP-сокете? Задержка передача-приём? ....?

Для коннекта на произвольный TCP-порт есть куча утилит. Под винду например есть "NetView", он содержит в себе много чего. Есть ещё "TCP/UDP Net Assistant" - он тоже позволяет коннектитьтся на произвольный TCP-порт (или использовать отправку UDP).

Цитата

P.S. Можно и другую утилитку. Пусть просто возвращает принятый трафик назад. Тогда прогу на сервере поправлю для расчёт скорости.

:wacko2:  Так вам нужна прога на TCP-сервере, которая будет заворачивать траффик назад или где? Или на клиенте, которая будет коннектиться к TCP-серверу, а потом делать эхо всех данных, отправляемых сервером в сокет?

Вообще ничего не понятно... Постарайтесь осмысленно сформулировать задачу.

 

2 часа назад, Tanya сказал:

ping -f -s 10000

 Число - размер пакета.

Разве? А в моей винде это совсем другое:

Использование: ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS]
               [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]]
               [-w таймаут] конечноеИмя
Параметры:
    -t               Отправка пакетов на указанный узел до команды прерывания.
                     Для вывода статистики и продолжения нажмите
                     <Ctrl>+<Break>, для прекращения - <Ctrl>+<C>.
    -a               Определение адресов по именам узлов.
    -n число         Число отправляемых запросов.
    -l размер        Размер буфера отправки.
    -f               Установка флага, запрещающего фрагментацию пакета.
    -i TTL           Задание срока жизни пакета (поле "Time To Live").
    -v TOS           Задание типа службы (поле "Type Of Service").
    -r число         Запись маршрута для указанного числа переходов.
    -s число         Штамп времени для указанного числа переходов.
    -j списокУзлов   Свободный выбор маршрута по списку узлов.
    -k списокУзлов   Жесткий выбор маршрута по списку узлов.
    -w таймаут       Таймаут каждого ответа в миллисекундах.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

29 minutes ago, jcxz said:

Хоть терминологию немного подучите что-ль...

@jcxz, без обид, но вы хоть иногда смотрите, что комментируете. Все кто в теме, ответили адекватно. А-то нравоучения у вас уже нормой становятся.

Кстати, из вики (не авторитет, знаю)

Quote

Для взаимодействия между машинами с помощью стека протоколов TCP/IP используются адреса и порты. Адрес представляет собой 32-битную структуру для протокола IPv4, 128-битную для IPv6. Номер порта — целое число в диапазоне от 0 до 65535 (для протокола TCP).

Эта пара определяет сокет («гнездо», соответствующее адресу и порту).

29 minutes ago, jcxz said:

Под винду например есть "NetView"

 

29 minutes ago, jcxz said:

А в моей винде это совсем другое:

Вопрос для ОС linux был.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, haker_fox сказал:

@jcxz, без обид, но вы хоть иногда смотрите, что комментируете. Все кто в теме, ответили адекватно.

Все кто ответили, сказали про ICMP-протокол. Им можно померить только задержку передачи/приёма ICMP-кадра. Данные ICMP-протоколом обычно никто не отправляет. Разве что в каких-то случаях создания туннелей для обхода файрволлов. И 10000 байт в ICMP вы не отправите, а только в размере не более одного MTU (обычно <=1460 байт).

И задержка - это не скорость всё-таки.

35 минут назад, haker_fox сказал:

А-то нравоучения у вас уже нормой становятся.

Вы что-то часто обижаетесь, на пустом месте. Такое ощущение что просто желаете обидеться по любому поводу.... Без обид.

Это не нравоучения, а замечание.

33 минуты назад, haker_fox сказал:

Кстати, из вики (не авторитет, знаю)

Вот поэтому я писал уточнить про какой протокол был вопрос, потому что в TCP под сокетом имеют в виду нечто другое.

А то может быть вы вообще под сокетом понимаете разъём куда провод втыкается.  :smile:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, haker_fox said:

P.S. Можно и другую утилитку. Пусть просто возвращает принятый трафик назад. Тогда прогу на сервере поправлю для расчёт скорости.

Реально непонятно что тут относится к линуксу.
Сервер линуксовый куда данные шлют? 
Или какая-то ваша плата работает под линуксом и шлет данные и под нее  надо писать скрипт?

Iperf не занимается пересылкой данных, он лишь тупо отправляет или принимает блоки данных с содержимым счетчика.
Эт не будет тестом двустороннего обмена. эт будет тест обмена в одну сторону.  
Тут надо определиться какого рода обмен вы хотите тестировать.  
   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, jcxz said:

Все кто ответили, сказали про ICMP-протокол

Ну почему же... Iperf генерирует не только ICMP-пакеты.

3 hours ago, jcxz said:

И 10000 байт в ICMP вы не отправите,

Я знаю это, но ответ @Tanya я даже и не заметил, т.к. пинг не рассматриваю в качестве тестилки.

3 hours ago, jcxz said:

Вы что-то часто обижаетесь, на пустом месте. Такое ощущение что просто желаете обидеться по любому поводу.... Без обид.

Вы правы, мне кажется, что я просто "за..трах...ся" от всевозможного сорта работ, которые выполняю, и любой ответ не по мне меня раздражает. Господа модераторы, извините за это...

3 hours ago, jcxz said:

Вот поэтому я писал уточнить про какой протокол был вопрос, потому что в TCP под сокетом имеют в виду нечто другое.

Протокол TCP.

3 hours ago, jcxz said:

А то может быть вы вообще под сокетом понимаете разъём куда провод втыкается. 

Ну нет... не это, точно:blum:

3 hours ago, AlexandrY said:

Тут надо определиться какого рода обмен вы хотите тестировать. 

Хорошо. Есть плата с LPC4337. На ней крутится FreeRTOS + lwIP. Есть Ethernet на плате. Нужно протестировать максимальную скорость обмена по этому порту. Я пока иду в таком направлении: поднял одну задачу, которая ждёт соединения через TCP-протокол на некотором порте. Как только соединение установлено, задача зацикливается и ждёт данных. Принятые данные она отправляет назад. Нужна какая-то прога для линукса (обязательно для линукса), которая подключится к плате, и будет гнать в неё трафик (произвольный). Измерять скорость передачи данных. Среднюю. Вот как-то так.

Если я иду неправлиьным путём (а я могу, ибо  в сетях пока я только начинающий), то буду рад услышать совет, как это сделать. Зачем мне вообще это надо, прошу не спрашивать. Это задание моего начальника... И мне это хочется сделать по-быстрее. Я пока пошёл на написание своей софтинки под линукс, которая делает нужное. Но очень надеюсь, что есть готовая утилитка.

Теперь я более ясно выразился, что мне нужно?-:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, jcxz said:

И 10000 байт в ICMP вы не отправите, а только в размере не более одного MTU (обычно <=1460 байт)

Quote

xxx@w02-debian:~$ ping -s 10000 192.168.2.13
PING 192.168.2.13 (192.168.2.13) 10000(10028) bytes of data.
10008 bytes from 192.168.2.13: icmp_seq=1 ttl=128 time=0.791 ms
10008 bytes from 192.168.2.13: icmp_seq=2 ttl=128 time=0.621 ms
10008 bytes from 192.168.2.13: icmp_seq=3 ttl=128 time=0.625 ms

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, aaarrr said:

xxx@w02-debian:~$ ping -s 10000 192.168.2.13

Прикольно! А в убунте валится.. странно. Ну да ладно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...