当前位置: 首页 > 知识库问答 >
问题:

套接字函数获取错误

昌招
2023-03-14

我试图从与参数值相连的子域列表中执行socket.getHostByName,但得到一个错误。我不确定循环是否正常工作,第一次尝试只是不是一个有效的子域+域。或者它根本不起作用?

误差

Traceback (most recent call last):
  File "./attack2.py", line 40, in <module>
    print subcheck(returned_list, arguments['--domain'])
  File "./attack2.py", line 31, in subcheck
    socket.gethostbyname(sub + domain)
socket.gaierror: [Errno -2] Name or service not known

代码

#!/usr/bin/python

"""
Description:

Basic Domain bruteforcer

Usage:
  attack2.py (-f <file>) (-d <domain>) [-t 10] [-v]
  attack2.py -h | --help

Arguments:
  -f --file File to read potential Sub-domains from. (Required)
  -d --domain Domain to bruteforce. (Required)
Options:
  -h --help     Show this screen.
  -p --proxy    Proxy address and port. [default: http://127.0.0.1:8080] (Optional)
  -t --thread   Thread count. (Optional)
  -v --verbose  Turn debug on. (Optional)
"""
import socket
from docopt import docopt


def fread(dwords):
        flist = open(dwords).readlines()
        return [s.replace('\n', '.') for s in flist]

def subcheck(subdomain, domain):
        for sub in subdomain:
                socket.gethostbyname(sub + domain)
        return output


if __name__ == "__main__":
        arguments = docopt(__doc__, version='0.1a')
        print arguments
        print fread(arguments['--file'])
        returned_list = fread(arguments['--file'])
        print subcheck(returned_list, arguments['--domain'])

新def子校验码

def subcheck(subdomain, domain):
    for sub in subdomain:
            try:
                    #print "%s %d" % (sub+domain,len(sub+domain))
                    print socket.gethostbyname(sub + domain)

            except:
                    print "Some error"

新产出

173.194.34.150
173.194.34.137
Some error
Some error
None

共有1个答案

商夜洛
2023-03-14

没有返回,因为subcheck函数中没有返回任何内容。因此,当您像这样调用它时:

print subcheck(returned_list, arguments['--domain']) 

它将被迫返回,并且不打印任何内容。删除它前面的打印,你不会看到任何。

 类似资料:
  • 问题内容: 从堆栈溢出的其他帖子中应该可以正常工作 但由于某种原因,它只是挂在()上而从不打印。我知道对www.cnn.com的请求将对数据进行分块,但我至少应该从中读取一些信息,对吗? PS我知道这是不是做到这一点的最好办法,而且有像库和在那里,但我不能使用那些为这个项目(这是学校)。我必须使用图书馆 问题答案: 您忘记在请求行之后发送空白行: 此外,HTTP 1.1指定您应添加HTTP 1.1

  • socket_read和socket_recv之间有什么区别?我正在尝试使用PHP套接字,但使用socket_read时收到了以下警告: 请帮帮我!

  • 我们在premium plan上托管了Azure函数,在调用我们的In Premise API时,我们断断续续地得到system.net.sockets.socketException以下错误消息- 发送请求时出错。无法从传输连接读取数据:现有连接被远程主机强制关闭。远程主机强制关闭了现有连接。 函数在。NET Core3.1中,我们使用httpclientfactory来获取HttpClient

  • FreeBSD提供了与套接字相关的不同函数, “打开”一个套接字我们只需要四个函数。 有时我们只需要两个。 7.5.1 客户端-服务器差异 典型情况中,以套接字为基础的数据通信一端是一个 服务器,另一端是一个客户端。 7.5.1.1 通用元素 7.5.1.1.1 socket 这一个函数在客户端和服务器都要使用:socket(2)。 它是这样被声明的: int socket(int domain

  • 函数 描述 [[socket socket]] 创建一个套接字描述符 [[socketpair socketpair]] 创建一个套接字偶对 [[shutdown shutdown]] 断开套接字连接 [[close close]] 销毁套接字 套接字选项 函数 描述 [[getsockopt sockopt]] [[setsockopt sockopt]] 适用于流式套接字和数据报套接字 流套接

  • 问题内容: 在0.9.x版本中,我们可以通过ID获得套接字,如下所示: 但是在1.0.x中我们不能。如何在1.0.x中按ID查找套接字? 问题答案: 对于socket.io 1.0,请使用: 对于0.9,其io.sockets.sockets [socketId]而不是io.sockets.socket [socketId]