> Нужен демон, который может прослушивать кастомный TCP/UDP-порт и, получив по нему текстовую
> строку, запускать скрипт с этой строкой в качестве аргумента. Существует ли
> такой в природе?
> Система FreeBSD 10.2.Например можно на python сделать скрипт, что-то вроде:
===========================================================================
import socket
import sys
import os
proto = argv[0]
port = argv[1]
if proto == 'udp':
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except socket.error, msg:
print 'Error Code:' + str(msg[0]) + msg[1]
sys.exit()
try:
sock.bind (("", port))
except socket.error, msg:
print 'Error Code:' + str(msg[0]) + msg[1]
sys.exit()
data, addr = sock.recvfrom(1024)
if data == 'YOUR_MESSAGE':
os.system('/bin/command.sh')
sock.close()
elif proto == 'tcp':
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error, msg:
print 'Error Code:' + str(msg[0]) + msg[1]
sys.exit()
try:
sock.bind (("", port))
except socket.error, msg:
print 'Error Code:' + str(msg[0]) + msg[1]
sys.exit()
sock.listen(1)
conn, addr = sock.accept()
data = conn.recv(1024)
if data == 'YOUR_MESSAGE':
os.system('/bin/command.sh')
conn.close()
===========================================================================
запуск python script.py udp 1111 или python script.py tcp 2222
Когда телнетитесь на порт и отправляете YOUR_MESSAGE запустится /bin/command.sh
ну или ncat -u IP PORT и написать YOUR_MESSAGE