繁体   English   中英

Python套接字错误

[英]Python Socket errors

#!/usr/bin/python

import socket
import argparse
import os.path

parser = argparse.ArgumentParser(description='Scan for open ports on given 
hostname or ip address')
parser.add_argument('-H','--HOST', help ="Enter a hostname or Ip Address")
args = parser.parse_args()

    def find_port(PORT,HOST):
        data = ('\r\nSuccessful Connections were made at host {} on port {}'.format(HOST, PORT))
        originalfile = ("Data Log.txt")

       s = socket.socket()
       socket.setdefaulttimeout(1)

        try:
           s.connect((HOST, PORT))
           print '[+] Successful connection on ',PORT

        except:
           print '[+] Connection failure on port ',PORT

       if os.path.exists(originalfile) is True:
           if s.connect((HOST, PORT)):
               with open (originalfile, "w") as currentfile:
                    currentfile.write(data)
                    currentfile.close()

       elif os.path.exists(originalfile) is False:
            if s.connect((HOST, PORT)):
               with open("Data Log.txt","w+") as newfile:
                    newfile.write(data)
                    newfile.close()


    if __name__=='__main__':
       for i in range(1024):
            find_port(i, args.HOST)

我不断收到这些错误。 我试图做的就是捕获端口上成功连接的实例,并将其记录到文本文件中,但是我一直收到这些错误。

[+]端口0追溯上的连接失败(最近一次通话最后一次):文件“ ./poo2.py”,第44行,在find_port(i,args.HOST)文件“ ./poo2.py”,行30,在find_port if s.connect((HOST,PORT)):文件“ /usr/lib/python2.7/socket.py”,第228行,在meth中返回getattr(self._sock,name)(* args)socket.error :[Errno 99]无法分配请求的地址

目前尚不清楚您要使用代码实现什么。 但是,您首先要创建一个套接字,然后将其连接到目标,然后尝试再次连接它。 由于套接字只能连接一次,因此第二次连接没有任何意义,并且会导致错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM