2009-02-05 2 views
37

Я пишу клиент tcp/ip, и мне нужен «тестовый сервер», чтобы он мог легко протестировать. Он должен прослушивать настраиваемый порт, показывать мне, когда клиент подключается и что отправляет клиент, разрешить мне вручную вводить текст для отправки клиенту. Он должен работать на Windows.Хороший инструмент для тестирования разъемов?

Обычно я использовал простой, но мощный nc.exe (alias "Netcat" available as well on Unix as on Windows), но антивирус обнаруживает его как «инструмент хакера», так что мой системный администратор не хочет, чтобы я использовал его на работе.

Кто-нибудь использует другой инструмент для проверки соединений сокетов и доволен им?

+0

Этот инструмент выполняет именно то, что вы просите: https://www.kickstarter.com/projects/1002798642/tcp-ip-bouncer – bvdb

ответ

57

Hercules является фантастическим. Это полностью функционирующий клиент/сервер tcp/udp, удивительный для отладки сокетов. Более подробная информация на веб-сайте.

+1

Хороший инструмент! Он действительно делает именно то, что мне нужно, и указан на больших бесплатных сайтах (например, CNET), так что системный администратор не должен рассматривать его как проблему. Единственной небольшой проблемой является необходимость публикации ссылки на программное обеспечение для профессионального использования (см. Лицензию), но это довольно справедливо. – Name

+1

Геркулес большой. Единственное, что меня немного раздражало, это длина текстового поля «Отправить». Он может вмещать только 500 персонажей. Если отправляемые данные должны быть протестированы более, чем это, вам нужно сделать несколько отправлений. Если нет другого способа сделать это, о котором я не знаю. – lucent

+0

Это фантастический маленький инструмент. Благодарю. –

3

Попробуйте Wireshark или WebScarab секунд лучше для интерполяции данных в обмен (не уверен, что Wireshark даже может). В любом случае, один из них должен быть в состоянии помочь вам.

+0

Если его системный администратор называет его о неткате, он, вероятно, будет иметь пригонки в отношении проводов , – krosenvold

+1

Кажется, это не совсем то, что я ищу: WebScarac, кажется, ограничен HTTP. Wireshark, по-видимому, позволяет захватывать трафик, но не действует как тестовый сервер, где я могу вручную ввести ответ для клиента. – Name

+0

Я не уверен, но я думаю, что WebScarab имеет нечто большее, чем его назначение. Из того, как я его использовал, я думаю, что он мог отслеживать любой трафик, отправленный через порт, который он просматривает. Тем не менее, все это - проблема безопасности. – 2009-02-05 11:03:24

6

netcat (nc.exe) является правильным инструментом. Я чувствую, что любой инструмент, который делает то, что вы хотите, будет иметь точно такую ​​же проблему с вашим антивирусным программным обеспечением. Просто отметьте эту программу как «ОК» в своем антивирусном программном обеспечении (как вы это сделаете, будет зависеть от того, какой тип антивирусного программного обеспечения вы используете).

Конечно, вы также должны Configure ваш сисадмин, чтобы признать, что вы не пытаетесь сделать что-то незаконное ...

+0

Ну, netcat в плохих руках действительно может быть использован как инструмент хакера, потому что вы можете легко перенаправить сокет в оболочку и использовать его в качестве сервера telnet. Если инструмент просто отобразит то, что он получает в окне, он не может использоваться так легко, как инструмент хакера. – Name

+0

Хорошее имя. Вы можете удалить эту возможность, убедившись, что только разрешенные права на файл nc.exe для вашего пользователя Windows. (Я предполагаю, что вы беспокоитесь о том, что злоумышленник компрометирует вашу машину, а не ваш системный администратор, беспокоясь о том, что вы пытаетесь что-то скрытно!) –

2

Я бы с Netcat тоже, но так как вы не можете использовать его , вот альтернатива: netcat :). Вы можете найти netcat, реализованный на трех языках (python/ruby ​​/ perl). Все, что вам нужно сделать, это установить переводчики для выбранного вами языка. Разумеется, это не будет рассматриваться как инструмент взлома.

Вот ссылки:

Perl implementation

Python implementation

Ruby Implementation

+1

Было бы идеально, если бы это сработало. Я протестировал 3 версии и получил сообщения об ошибках со всеми. Версия perl была, по крайней мере, частично пригодной для использования. Может быть, эти скрипты были запутаны в Unix и имеют небольшие трудности в Windows? – Name

+0

Я попробую их и вернусь с комментарием. Можете ли вы указать, в каких аргументах вы запускали скрипт? – Geo

+0

Один сервер: -l -p 9988 И один клиент: -c -r localhost -p 9988 – Name

1

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

+2

Потому что у вас есть клиент + сервер для отладки, а не только для клиента! И зачем писать программное обеспечение, чтобы сделать то, что другое программное обеспечение уже может сделать действительно хорошо? – Name

+1

Потому что вы узнаете что-то в этом процессе. –

2

Я также нашел инструмент под названием TCP/IP Test Server [Edit: больше не доступны от оригинального разработчика, но все еще доступный через Brothersoft], который, кажется, делать то, что мне нужно тоже. Но я не пробовал, потому что он не указан на больших бесплатных сайтах (например, CNET ...), и исходный код не публикуется, так что он не успокоит параноидальный системный администратор.

2

Другой инструмент - tcpmon. Это Java-инструмент с открытым исходным кодом для мониторинга TCP-соединения. Это не тестовый сервер. Он размещается между клиентом и сервером, но позволяет увидеть, что происходит через «трубу», а также изменить то, что происходит.

-2

Существует также хороший инструмент для тестирования соединений SOAP: soapui. Но это не для общих TCP-соединений.

+1

_ «Но это не для общих TCP-соединений.» _ True -1 –