Підкажіть, будь ласка, як вирішити таку задачу:
Програма на комп'ютері в мережі відправляє udp-пакет при певних подіях. Потрібно на linux-машині цей пакет зловити, виділити дані і запустити shell-скрипт.
Спробував через xinetd запустити скрипт, а в скрипті зловити пакет tcpdump-ом. Але проблема, що першим пакетом xinetd запускає скрипт, а tcpdump відловлює тільки другий пакет.
# /etc/xinetd.d/stream_control
service stream_control
{
disable = no
type = UNLISTED
port = 8012
socket_type = dgram
protocol = udp
flags = IPv4
wait = yes
user = root
server = /home/user/test.sh
log_type = SYSLOG daemon
}
test.sh:
#!/bin/bash
tcpdump -Q in --immediate-mode udp port 8012 -A -c 1 >> /home/user/test.txt