gpt4 book ai didi

python - 如何告诉请求模块不进行 DNS 查找?

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:23 34 4
gpt4 key购买 nike

我的想法是将命令行上的 IP 地址列表提供给以下代码以检查 HTTP 方法。问题是 Python 提示它无法将 IP 地址解析为主机名,并出现以下错误:requests.exceptions.ConnectionError: ('连接中止。', gaierror(8, '提供节点名或服务名,或未知'))

如何关闭 DNS IP --> 主机名解析?

#!/usr/bin/python
#Usage: ./name-of-this-script.py list-of-IPs
import sys
import requests
requests.packages.urllib3.disable_warnings()

## Variables

f = open(sys.argv[1], 'r')
verbs = ['GET','HEAD','POST','PUT','DELETE','OPTIONS','TRACE','PROPFIND','CONNECT','TEST', 'LOCK','MKCOL','ACL','BASELINE-CONTROL','BIND','CHECKIN','CHECKOUT','COPY','LABEL','LINK','MERGE','MKACTIVITY','MKCALENDAR','MKCOL','MKDIRECTREF','MKWORKPSACE','MOVE','ORDERPATCH','PATCH','PROPATCH','REBIND','REPORT','SEARCH','UNBIND','UNCHECKOUT','UNLINK','UPDATE','UPATEDDIRECTREF','VERSION-CONTROL','LONGPHONYHTTPMETHOD']

print "----------------------------"
print "Permitted HTTP methods indicated below by 200 OK."
print """
To control which HTTP methods are permitted on Apache
consult:
https://httpd.apache.org/docs/trunk/mod/mod_allowmethods.html
"""
print "----------------------------"

for line in f:
for verb in verbs:
print line
#req = requests.request(verb, sys.argv[1], verify=False)
host = 'https://'+ line
req = requests.request(verb, host, verify=False)
print verb, req.status_code, req.reason
if verb == 'TRACE' and 'TRACE / HTTP/1.1' in req.text:
print 'Possible Cross Site Tracing Vulnerability found!'

最佳答案

使用像 requests 这样的高级库来处理如此低级的 HTTP 请求对我来说似乎有些过分了。

我可以建议使用httplib(或者http.client,如果您想使用Python 3):

import httplib
import ssl

# Since the IP addresses will likely not match the SSL cert hostnames
ssl_context = ssl.create_default_context()
ssl_context.check_hostname = False

ip = "104.16.34.249" # SO
verb = "TRACE"

conn = httplib.HTTPSConnection(ip, context=ssl_context)
conn.request(verb, "/")
r = conn.getresponse()
print r.read(), r.status, r.reason

关于python - 如何告诉请求模块不进行 DNS 查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722674/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com