Netcat implementation in Python

前端 未结 3 1465
半阙折子戏
半阙折子戏 2020-12-01 09:35

I found this and am using it as my base, but it wasn\'t working right out of the box. My goal is also to treat it as a package instead of a command line utility, so my code

3条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-01 10:00

    Does it work if you just use nc?

    I think you should try something a little simpler:

    import socket
    
    def netcat(hostname, port, content):
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((hostname, port))
        s.sendall(content)
        s.shutdown(socket.SHUT_WR)
        while 1:
            data = s.recv(1024)
            if data == "":
                break
            print "Received:", repr(data)
        print "Connection closed."
        s.close()
    

    I added the shutdown call because maybe your device is waiting for you to say you're done sending data. (That would be a little weird, but it's possible.)

提交回复
热议问题