如何在python中为数据包设置IP_TTL?
在下面的代码中。我正在向HTTPS网站发送GET请求并打印响应。是否可以为GET请求数据包设置IP_TTL?我该怎么做如何在python中为数据包设置IP_TTL?,python,ssl,scapy,Python,Ssl,Scapy,在下面的代码中。我正在向HTTPS网站发送GET请求并打印响应。是否可以为GET请求数据包设置IP_TTL?我该怎么做 #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import with_statement from __future__ import print_function try: # This import works from the project directory from sc
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import with_statement
from __future__ import print_function
try:
# This import works from the project directory
from scapy_ssl_tls.ssl_tls import *
except ImportError:
# If you installed this package via pip, you just need to execute this
from scapy.layers.ssl_tls import *
tls_version = TLSVersion.TLS_1_2
ciphers = [TLSCipherSuite.ECDHE_RSA_WITH_AES_128_GCM_SHA256]
# ciphers = [TLSCipherSuite.ECDHE_RSA_WITH_AES_256_CBC_SHA384]
# ciphers = [TLSCipherSuite.RSA_WITH_AES_128_CBC_SHA]
# ciphers = [TLSCipherSuite.RSA_WITH_RC4_128_SHA]
# ciphers = [TLSCipherSuite.DHE_RSA_WITH_AES_128_CBC_SHA]
# ciphers = [TLSCipherSuite.DHE_DSS_WITH_AES_128_CBC_SHA]
extensions = [TLSExtension() / TLSExtECPointsFormat(),
TLSExtension() / TLSExtSupportedGroups()]
def tls_client(ip):
with TLSSocket(client=True) as tls_socket:
try:
tls_socket.connect(ip)
print("Connected to server: %s" % (ip,))
except socket.timeout:
print("Failed to open connection to server: %s" % (ip,), file=sys.stderr)
else:
try:
server_hello, server_kex = tls_socket.do_handshake(tls_version, ciphers, extensions)
server_hello.show()
except TLSProtocolError as tpe:
print("Got TLS error: %s" % tpe, file=sys.stderr)
tpe.response.show()
else:
resp = tls_socket.do_round_trip(TLSPlaintext(data="GET / HTTP/1.1\r\nHOST: localhost\r\n\r\n"))
print("Got response from server")
resp.show()
finally:
print(tls_socket.tls_ctx)
if __name__ == "__main__":
if len(sys.argv) > 2:
server = (sys.argv[1], int(sys.argv[2]))
else:
server = ("google.com", 443)
tls_client(server)
上面的代码就是通过这个链接获取的 你在别处找过什么吗?当我在谷歌上搜索“PythonIP_TTL”时,我得到了很多点击率。@IrmendeJong所有这些选项都不适合我。即使在发送GET请求之前添加了
tls\u socket.setsockopt(socket.SOL\u IP,socket.IP\u TTL,1)
。我收到了Web服务器的响应可能TLSSocket包装器不支持IP_TTL…?为什么不去Python的源代码和测试,用Python编写:我试图让它在直接UDP上工作,但没有成功。你在其他地方搜索过吗?当我在谷歌上搜索“PythonIP_TTL”时,我得到了很多点击率。@IrmendeJong所有这些选项都不适合我。即使在发送GET请求之前添加了tls\u socket.setsockopt(socket.SOL\u IP,socket.IP\u TTL,1)
。我收到了Web服务器的响应可能TLSSocket包装器不支持IP_TTL…?为什么不去Python的源代码和测试,用Python编写:我试图让它在直接UDP上工作,但没有成功。