The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Получать текст по TCP/UDP-порту и запусткать скрипт"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Получать текст по TCP/UDP-порту и запусткать скрипт"  –1 +/
Сообщение от yurybx (ok) on 06-Июн-16, 19:31 
Нужен демон, который может прослушивать кастомный TCP/UDP-порт и, получив по нему текстовую строку, запускать скрипт с этой строкой в качестве аргумента. Существует ли такой в природе?

Система FreeBSD 10.2.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +/
Сообщение от Pahanivo (ok) on 06-Июн-16, 20:55 
ucspi-tcp например
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +/
Сообщение от yurybx (ok) on 07-Июн-16, 15:37 
Спасибо! Будем пробовать!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +4 +/
Сообщение от _ (??) on 06-Июн-16, 21:11 
SSHD :)

Поверь мне - я не шучу. Всё равно к нему придёте :)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +2 +/
Сообщение от asavah (ok) on 06-Июн-16, 21:51 
> Нужен демон, который может прослушивать кастомный TCP/UDP-порт и, получив по нему текстовую
> строку, запускать скрипт с этой строкой в качестве аргумента. Существует ли
> такой в природе?
> Система FreeBSD 10.2.

man (x)inetd

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +1 +/
Сообщение от wizard22 (ok) on 06-Июн-16, 22:29 
> Нужен демон, который может прослушивать кастомный TCP/UDP-порт и, получив по нему текстовую
> строку, запускать скрипт с этой строкой в качестве аргумента. Существует ли
> такой в природе?
> Система FreeBSD 10.2.

netcat

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +/
Сообщение от Andrey Mitrofanov on 07-Июн-16, 17:15 
>> Система FreeBSD 10.2.
> netcat

У него есть фатальный недостаток второго порядка: openbsd netcat совсем не одно и то же, что n[et]cat от fyodor.

ЗЫЖ "Когда я служил с маленьком уездном городке"R и написал на gawk-е веб-сервер, мою лень в освоении https://www.gnu.org/software/gawk/manual/html_node/TCP_002fI... я компенсировал использованием xinetd &| socket|socat. В каких-то/разных комбинациях.

ЗЗЫЖ AGkhr, FreeBSD?! Ухо-хо, опять криворукие неучи хэндбукаов не нюхавшие... ЕГЭ ж ещё не!!! Гоните их.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Получать текст по TCP/UDP-порту и запусткать скрипт"  +/
Сообщение от habu (ok) on 05-Янв-17, 19:14 
> Нужен демон, который может прослушивать кастомный 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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру