2014-10-13 3 views
1

Я пытаюсь написать в питоне следующей команды: NetCat IP-порт </DEV/ноль он работает в терминале и до сих пор мои попытки в питоне провалились любых намеков пожалуйста ?питона подпроцесс с/разработчиком/нулевой вход

fd = os.open("/dev/zero", os.O_RDONLY); 
buf = os.read(fd, 1024) 
os.close(fd) 
ip='192.168.1.45' 
port= 56 
netc =subprocess.Popen(['netcat',ip,str(port)],stdin=buf) 
+0

вы можете использовать 's = socket.create_connection ((ф, порт));' 'в то время как True: s.sendall (ЬиЕ)' – jfs

ответ

2

stdin должен быть файлом-файлом python. К счастью, есть один удобный ...

import subprocess 

ip='192.168.1.45' 
port= 56 
with open("/dev/zero", "rb", 0) as file: 
    netc = subprocess.Popen(['netcat', ip, str(port)], stdin=file)