Использование netcat в python (желательно без библиотеки сокетов) - PullRequest
0 голосов
/ 01 ноября 2018

Используя netcat для мониторинга определенного порта на моем устройстве, я могу проверить полученные данные, а также отправить данные обратно на подключенное к нему устройство. Использование командного терминала оболочки.

У меня вопрос, как сделать то же самое в Python?

Я попробовал что-то подобное, а пока:

Я могу получить данные и проверить их, но они не отвечают (используя стандартный ввод)

import os
import time
import subprocess

cmd  = ['sudo nc -l -p 12']

while True:

    proc = subprocess.Popen(cmd, shell = True,
                            stdout = subprocess.PIPE,
                            stderr = subprocess.PIPE,
                            stdin  = subprocess.PIPE, close_fds=True)

    _output = proc.stdout.read().decode('utf-8')
    _error  = proc.stderr.read().decode('utf-8')    

    print("\nout: " + _output)
    print("err: " + _error )
    print (proc.communicate()[0])

    if _output == 'pOnti Serial-Ethernet':            

        time.sleep(1)

        try:
            _input  = proc.stdin.write((bytes('ok', 'utf-8')))
            print("in : " + str(_input))

            proc.stdin.close()
            proc.wait()

        except: pass

Извините за плохое владение языком, я бразилец.

...