Як отримати udp-відповідь за допомогою netcat


9

Я намагаюся зробити щось на кшталт:

echo "request" | nc -u 1.1.1.1 9999 > response.txt

Я бачу, що відповідь надходить із сервера (з tcpdump) після виконання цього рядка.

Однак моя відповідь.txt залишається порожньою.

Чи є спосіб її отримати?


У вас є брандмауер? Бачити пакет через tcpdump не означає, що він буде прийнятий.
Zoredache

Відповіді:


5

Netcat починає "говорити" UDP (за замовчуванням - TCP), вказавши параметр командного рядка -u. Ось приклад підключення до сервера часу RFC 867 за допомогою UDP. Зверніть увагу, що IP-адреса або DNS-ім'я іншого хоста вказується першим, а номер порту вказується другим - як і більшість програм telnet. Після встановлення з'єднання, ймовірно, потрібно буде натиснути клавішу Enter, щоб сервер часу надіслав вам поточний час. (можливо, це ваша проблема)

nc -u igor.alcpress.com 13

Чт 15 вересня 14:41:57 2005

Оскільки UDP не є протоколом, орієнтованим на з'єднання, з'єднання залишатиметься "відкритим", поки ви не припините програму, натиснувши Ctrl-C.

===================================================== =====================

Чи відповідає він, якщо ви не перенаправляєте вихід?
спробуйте:echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


Привіт і дякую за вашу відповідь. Командна послідовність так, як ви її написали, залишається одразу після її виконання на моїй машині. Однак проблема для мене вирішена. Я не знав, що можу просто запустити nc -u 1.1.1.1 9999, і надсилати / отримувати дані всередині nc під час його запуску. Ще раз
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.