文章目录

  • 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: baidu.com\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:tangzicheng
import socket
import 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:tangzicheng
import 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:tangzicheng
import 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代码作客户端


参考链接:

https://zhuanlan.zhihu.com/p/29598584

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

  1. Python黑帽子--黑客与渗透测试编程之道 python3 实现代码

    最近在看 Python黑帽子–黑客与渗透测试编程之道 这本书 发现这本书的代码实现都是使用python2 的于是我就想使用python3来实现 缓慢更新中 python2版本 有一个博主写的特别好 这 ...

  2. Python黑帽子 黑客与渗透测试编程之道(七) 第四章:Scapy:网络的掌控者

    1 窃取Email认证 代码: from scapy.all import *def packet_callback(packet):if packet[TCP].payload:mail_packe ...

  3. Python黑帽子-黑客与渗透测试编程之道

    Python黑帽子-黑客与渗透测试编程之道 时间:2018年4月28日 前言 本文参考了两篇资料,优化补全了代码内容 giantbranch 的 Python黑帽子–黑客与渗透测试编程之道 意闲 的 ...

  4. 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习<Python黑帽子:黑客与渗透测试编程之道>的笔记,会持续地将书上的代码自己敲一遍,从而让自己对Python的安全编程有更多的了解,同时希望各位可以给给建议,不足之处太多了 ...

  5. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者

    目录 前言 1.窃取email认证 2.ARP缓存投毒 3.PCAP文件处理 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码,并自己将其中一些改写成P ...

  6. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(九):自动化攻击取证

    目录 前言 1.Volatility配置 2.抓取口令的哈希值 3.直接代码注入 4.插入shellcode 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书 ...

  7. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(二):原始套接字和流量嗅探

    目录 前言 1.Windows和Linux上的包嗅探 2.解码IP层 3.解码ICMP层 4.发现主机 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码 ...

  8. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(四):web攻击

    目录 前言 1.urllib2 2.开源web应用安装 3.破解目录和文件位置 4.破解HTML表格认证 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源 ...

  9. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(五):扩展burp代理

    目录 前言 1.burp的fuzz脚本 2.burp中利用Bing服务 3.利用网站内容生成密码字典 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码, ...

  10. 《Python黑帽子:黑客与渗透测试编程之道》 Web攻击

    Web的套接字函数库:urllib2 一开始以urllib2.py命名脚本,在Sublime Text中运行会出错,纠错后发现是重名了,改过来就好: #!/usr/bin/python #coding ...

最新文章

  1. oracle 11.2.0.3 asm非rac双机,oracle11.2.0.4 rac asm启动故障
  2. python bool转string_Python:可以返回boolean和string吗?
  3. 在线斯诺克html5,用HTML 5打造斯诺克桌球俱乐部
  4. java类与对象实验报告心得体会_Java类与对象实验报告.doc
  5. Matplotlib常用命令
  6. Linux系统编程 -- 进程控制 进程终止
  7. gps nmea数据格式解析与生成
  8. U盘exe病毒解决方案
  9. 先写接口文档还是先开发
  10. CAD怎么快速用计算机加面积,CAD如何利用“命令”快速计算图形面积
  11. 微服务实战之高可用性
  12. 2014 年度 Git@OSC【非GitHub】 最热门的 50 个项目
  13. android plist动画,用Lottie把启动界面动起来
  14. suricata的netmap抓包模式安装
  15. Intel GPA 参数
  16. 【Latex】Latex插入代码块
  17. WIFI之一:WIFI常识 基站定位原理
  18. 数字图像处理100问—40 JPEG 压缩——第四步:YCbCr+离散余弦变换+量化
  19. 《强化学习周刊》第42期:DPIN、鲁棒元强化学习、Deep dispatching
  20. postgre info

热门文章

  1. 交互式电子杂志_XFlip Enterprise(电子杂志相册制作器)
  2. 计算机网络与综合布线系统设计,浅谈计算机网络综合布线系统设计
  3. 你想要的宏基因组-微生物组知识全在这(2022.2)
  4. php 微信表情存储,emoji表情存储到数据库的方法
  5. Android游戏开发–基本游戏架构
  6. 信息和信息技术的概念,发展和应用
  7. IE浏览器起始页通过注册表修改
  8. 28天肝完阿里面试通关宝典,含答案解析
  9. Python入门经典. 以解决计算问题为导向的Python编程实践
  10. 【项目篇-项目创新点怎么写?(两千字图文总结建议)】创新创业竞赛项目计划书、新苗国创(大创)申报书