alternative for netcat utility

前端 未结 5 2427
庸人自扰
庸人自扰 2021-02-20 07:09

Is there any alternative for netcat utility? I want to run docker API and netcat utility is not installed on client system. docker command example - echo -e \"GET /info HTTP/1.0

5条回答
  •  花落未央
    2021-02-20 07:50

    Python is ubiquitous these days and the socket module is all you need.

    Here are a few examples: You can use it to test connectivity on port 443 to a list of 3 hosts:

    import socket
    
    def test_socket(ip,port):
            s = socket.socket()
    
            try:
                s.settimeout(3)
                s.connect((ip,port))
            except socket.error as msg:
                s.close()
                print 'could not open %s:%s %s' % (ip,port,msg)
                return(1)
            else:
                s.close()
                print '%s:%s is OK' % (ip,port)
                return(0)
    
    
    hosts=['host1.example.com','host2.example.com','host3.example.com']
    
    for host in hosts:
       print "testing %s 443" % host
       test_socket(host,443)
    

    This one liner can read stdin or files and send to hostname termbin.com on port 9999 upload a file to termbin:

     python -c "import socket,fileinput;  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect(('termbin.com', 9999)) ; [ s.send(b) for b in fileinput.input() ]; print s.recv(1024); s.close();" filetoupload.txt
    

提交回复
热议问题