“渗透测试中,我们经常遇到需要创建一个TCP客户端来连接服务、发送垃圾数据、进行模糊测试或者其他任务的情况。如果你工作在 一个独立的大型企业网络环境中,那么你不会拥有丰富的网络工具或者编译器,你甚至可能会在一个不具备基本的复制粘贴或者失去互联网连接的环境下工作。在这种环境下,你需要手动创建一个TCP客户端”

# coding=utf-8

import socket

target_host = "www.baidu.com"

target_port = 80

# 建立一个 socket 对象

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# AF_INET-> 标准 IPv4 | SOCK_STREAM -> TCP 连接

# 连接客户端

client.connect((target_host, target_port))

# 发送数据

client.send("GET / HTTP/1.1\r\nHost:www.baidu.com\r\n\r\n")

# 接受数据

response = client.recv(4096) # 接收数据的返回字节数

print (response)

发送的数据就是抓包后前两行的数据

并且通过\r\n来实现对齐

TCP-connect

报错:data, addr = client.recvfrom(4096) socket.error: [Errno 10054] 

这是因为你的端口根本没有和你的python发出的UDP数据报交互

所以可以使用 NetAssist 来实现数据交互

# coding=utf-8

import socket

target_host = "127.0.0.1"

target_port = 8087

# 建立一个 socket 对象

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 发送数据

client.sendto("qf_is_so_handsome", (target_host, target_port))

# 接收返回数据

data, addr = client.recvfrom(4096)

print(data)

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: