LINUX.ORG.RU

Вопрос по openbsd-netcat

 


0

2

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

★★★★

http://www.openbsd.org/cgi-bin/man.cgi?query=nc

nc will listen forever for a connection, with or without the -w flag.

Уверен что netcat завершается именно по таймауту? Возможно просто кто-то подключился и затем отключился, не передав никаких данных, и netcat завершил работу.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Когда соединение пропадает, он выключается, если вручную запускать - то нет. Хотя да - там может и без таймаута, но всё-равно интересно. (По-моему, после дисконнекта, согласно 'ps', он не сразу вырубается.)

ViTeX ★★★★
() автор топика
Ответ на: комментарий от ViTeX

Когда соединение пропадает, он выключается, если вручную запускать - то нет.

Не совсем понял. Второй вариант — запускать вручную. А первый тогда какой? В чем отличие? С какими ключами запускаешь?

Хотя да - там может и без таймаута, но всё-равно интересно.

Не пробовал отслеживать через сколько он вырубается? Что в этот момент (или вообще за все время работы) приходит на порт, на котором слушает netcat?

По-моему, после дисконнекта, согласно 'ps', он не сразу вырубается.

А с какими ключами запускаешь nc?

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

А первый тогда какой?

Из скрипта по расписанию с помощью 'at'.

С какими ключами запускаешь?

Без ключей

Не пробовал отслеживать через сколько он вырубается?

Не, это нештатная ситуация, редко происходит.

Что в этот момент (или вообще за все время работы) приходит на порт, на котором слушает netcat?

В штатном режиме в обоих вариантах (ручном и по расписанию) работа nc завершается, когда приходит строка «END», в нештатном строка «END» не приходит и в «ручном режиме» netcat остаётся запущенным, а «по расписанию» через какое-то не очень длительное время - отрубается.

ViTeX ★★★★
() автор топика
Ответ на: комментарий от ViTeX

Без ключей

Даже без -l?

Не, это нештатная ситуация, редко происходит.

Тогда не очень-то и похоже на таймаут. Если на порт, на котором висит netcat не приходит очень много трафика, можно запустить tcpdump и собрать с помощью него все приходящие на этот порт пакеты, это поможет определить в чем проблема.

В штатном режиме в обоих вариантах (ручном и по расписанию) работа nc завершается, когда приходит строка «END»

Модифицированный netcat или скрипт, который читает из stdout netcat'а? Если второе, то возможно что проблема в самом скрипте.

а «по расписанию» через какое-то не очень длительное время - отрубается.

Какое при этом состояние процесса и сетевого соединения? Что в stdout netcat'а?

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Да не, проблемы нету, меня устраивает - всё работает как надо, а вот интерес как оно работает есть. Извиняюсь, если кривовато изъясняюсь

Модифицированный netcat или скрипт, который читает из stdout netcat'а?

Вот что-то в таком роде:

		(
		sleep $5
		command($1,$2,$3,$4)"
		) | nc 192.168.1.1 1234

Какое при этом состояние процесса и сетевого соединения? Что в stdout netcat'а?

С процессом всё в порядке, просто происходит дисконнект соединения, netcat в ожидании инфы.

ViTeX ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.