1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 《python黑帽子 黑客与渗透测试编程之道》第二章-网络基础 tcp udp客户端 服务端

《python黑帽子 黑客与渗透测试编程之道》第二章-网络基础 tcp udp客户端 服务端

时间:2023-06-02 00:58:02

相关推荐

《python黑帽子 黑客与渗透测试编程之道》第二章-网络基础 tcp udp客户端 服务端

文章目录

TCP客户端、服务端代码1.打开NetAssist,设置为TCP Server,点击打开2.客户端设置好ip端口,运行,发送消息3.服务端回复消息,客户端接收成功。TCP服务端代码UDP客户端、服务端客户端代码服务端代码测试,python服务端,NetAssist作客户端或者自己编写的python代码作客户端参考链接:

TCP客户端、服务端

代码

# -- coding: utf-8# 开始一直报错,发现是文件夹命名中文的问题import sockettarget_host = "127.0.0.1"target_port = 9999# 建立一个socket对象client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接客户端client.connect((target_host, target_port))# 发送数据client.send("GET / HTTP/1.1\r\nHost: \r\n\r\n")# 接收数据response = client.recv(4096)print response

利用NetAssist 模拟客户端发送接收回复的过程。

1.打开NetAssist,设置为TCP Server,点击打开

2.客户端设置好ip端口,运行,发送消息

接收消息成功

3.服务端回复消息,客户端接收成功。

TCP服务端

代码

#!/usr/bin/env python# -*- coding:utf-8 -*-# Autor:tangzichengimport socketimport threadingbind_ip = "0.0.0.0"bind_port = 9999server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server.bind((bind_ip, bind_port))server.listen(5)print "[*] Listening on %s:%d" % (bind_ip, bind_port)# 客户处理线程def handle_client(client_socket):# 打印出客户端发送得到内容request = client_socket.recv(1024)print "[*] Received: %s" % request# 返回一个数据包client_socket.send("ACK!")client_socket.close()while True:client, addr = server.accept()print "[*] Accepted connection from: %s:%d" % (addr[0],addr[1])# 挂起客户端线程,处理传入的数据client_handler = threading.Thread(target=handle_client, args=(client,))client_handler.start()

UDP客户端、服务端

客户端代码

#!/usr/bin/env python# -*- coding:utf-8 -*-# Autor:tangzichengimport sockettarget_host = "127.0.0.1"target_port = 80# 建立一个socket对象client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 发送数据client.sendto("AABBBCCC",(target_host, target_port))# 接收数据data, addr = client.recvfrom(4096)print data

服务端代码

#!/usr/bin/env python# -*- coding:utf-8 -*-# Autor:tangzichengimport socket# 监听任意地址target_host = ""target_port = 8888udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)udp_socket.bind((target_host, target_port))while True:recv_data = udp_socket.recvfrom(1024)print "[%s]:%s" % (str(recv_data[1]),recv_data[0].decode("gb2312"))

测试,python服务端,NetAssist作客户端或者自己编写的python代码作客户端

参考链接:

/p/29598584

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。