ICN数据包格式封装
来源:互联网 发布:js隐藏网页源代码 编辑:程序博客网 时间:2024/06/14 17:16
一个利用python binascii 实现 ICN数据包封装并利用UDP协议传输的示例:
from socket import *import binasciiimport jsonaddress = ('192.168.44.145', 12321)#address = ('192.168.100.150', 5000)s = socket(AF_INET,SOCK_DGRAM)#s.bind(address)#while True: # data,addr = s.recvfrom(2048) #if not data: # print("client has exist") # breakflag=1while flag: EUID1='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' length=len(EUID1) print(length) s_EUID=binascii.a2b_hex(EUID1) EUID2='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' d_EUID=binascii.a2b_hex(EUID2) sev_type=binascii.a2b_hex(hex(22).replace('0x','')) Head_len=binascii.a2b_hex(hex(36).replace('0x','')) ICN_cert=binascii.a2b_hex(hex(4444).replace('0x','')) packet_type=binascii.a2b_hex('0'+hex(1).replace('0x','')) EUID3='dddddddddddddddddddddddddddddddd' c_EUID=binascii.a2b_hex(EUID3) ACK_flag=binascii.a2b_hex('0'+hex(1).replace('0x','')) data=s_EUID+d_EUID+ sev_type+Head_len\ +ICN_cert+packet_type+c_EUID+ACK_flag print(data) if not data: break s.sendto(data,address) flag=0#a = json.loads(data.decode('utf-8'))#print(a['params']['PubKey']) s.close()
该函数实现的主要功能:
1、实现ICN信令的封装
2、将ICN信令转换为流格式
3、利用UDP将ICN信令内容作为载荷发送给目标地址
该函数测试结果:
接收端可正确接收到发送的信令,并正确地解析出载荷中的ICN相关内容。
函数释义:
关于字符串转换成16进制流格式的过程如下:
(1)hex()函数的返回值是16进制字符串
例如:0x1=hex(‘1’)
(2)a2b_hex()函数是将ASCII码转换成2进制数并用16进制表示,返回值中将字符串中每两位字符转换成一个16进制数字符串转换后,输出的字符串比输入的字符串缩短一半。
阅读全文
0 0
- ICN数据包格式封装
- 网络数据包封装过程
- 【计算机网络】详解网络层(一):数据包封装和报文格式
- sock5代理 数据包格式
- netflow数据包格式
- TCP数据包格式
- TCP数据包格式
- IP数据包格式详解
- Wireshark数据包格式
- IP数据包格式详解
- IP数据包格式详解
- 以太网数据包格式
- RTP数据包格式
- IP数据包格式
- UDP数据包首部格式
- IP数据包格式
- IP数据包格式详解
- IP数据包格式详解
- 快速理解c++编译器名称查找规则koenig lookup(ADL)
- ffmpeg中av_find_best_stream()函数的使用
- 沉浸栏-将activity页面延伸到状态栏
- Java关于子类对父类私有方法覆盖的问题
- Linux下tomcat重新启动
- ICN数据包格式封装
- 计算机网络–物理层
- iOS 修饰符~ NS_UNAVAILABLE、NS_REQUIRES_SUPER
- 计时器的开始与暂停
- 金融科技&大数据产品推荐:百融信贷决策审批系统
- 金融科技&大数据产品推荐:蜂巢——数据科学驱动的互联网风控解决方案
- 大数据投融资9月榜:共28起融资事件,总金额超84.7亿元
- JDK的Future源码解析
- 迪拜机场拟用人脸识别取代人工检查,浪潮集团计划在重庆建大数据创客中心 | 大数据24小时