Python中利用原始套接字进行网络编程的示例
在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互。
因此想使用原始套接字进行编程,直接构造数据包,并在IP层进行发送,即采用SOCK_RAW进行数据发送。
使用SOCK_RAW的优势是,可以对数据包进行完整的修改,可以处理IP层上的所有数据包,对各字段进行修改,而不受UDP和TCP的限制。
下面开始构造HTTP数据包,
IP层和TCP层使用python的Impacket库,http内容自行填写。
#!/usr/bin/env python
#-------------------------------------------------------------------------------
# Name:
# Purpose:
#
# Author:
#
# Created:
# Copyright:
#
Licence:
#-------------------------------------------------------------------------------
import sys
import socket
from impacket import ImpactDecoder, ImpactPacket
def main():
#print src, dst
if __name__ == '__main__':
相关文章
- Python基础21-网络编程
- Python核心编程(网络编程)[通俗易懂]
- python常见运维脚本_Python运维常用脚本[通俗易懂]
- python 中os模块os.path.exists()含义
- python语言一般用于什么_PYthon
- gyp ERR! stack Error: Can't find Python executable 'python'
- python的特点和优势_Java与Python异同
- Python udp编程_python socket udp
- python udp编程_Python核心编程
- Python升级之路( Lv16 ) 网络编程
- (十)Python网络编程
- 【测试开发】python系列教程:Python 推导式
- 【测试开发】python系列教程:Python 运算符
- python网络编程中的线程-多线程服务器编程
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(一)
- 网络工程师学Python-29-文件删除
- 小白的Python之路 day5 python模块详解及import本质编程语言
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- 掌握Linux环境下的Python编程(linux执行python)
- Linux查看Python版本的有效方法(linux查看python版本)
- Linux 启动 Python编程之旅(linux打开python)
- 使用Python连接SQL Server数据库(python连接sqlserver数据库)
- Linux下Python编程:从入门到精通(linux下python编程)
- python网络编程示例(客户端与服务端)
- python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
- python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
- python网络编程学习笔记(10):webpy框架