C++ 在无线网络中访问NS2数据包报头以获取接收到的数据
我在NS2(确切地说是椭圆曲线)中实现了一个加密协议。我在TCL建立了一个无线网络。cc代码对从TCL获得的消息进行加密,然后将加密数据存储在数据包头中,并将其发送到另一个节点。另一个节点应该检索该数据并将其解密为原始明文。 我遇到了一个问题,当第二个节点接收到无线数据包并访问报头以检索加密数据(以便它可以执行解密)时,接收到的数据被修改。 例如: =>如果我想发送消息“abc”(消息将被转换为整数进行加密),第一个节点将对消息进行加密,并将其存储在数据包头中。当我在发送前打印标题中的加密数据时,我得到“508550885090” =>当第二个节点在recv功能中接收到数据包时,报头内容更改为“1077805061061050881290” 如何从无线数据包头中提取原始发送数据 下面是访问标头的代码中的recv部分:C++ 在无线网络中访问NS2数据包报头以获取接收到的数据,c++,tcl,ns2,C++,Tcl,Ns2,我在NS2(确切地说是椭圆曲线)中实现了一个加密协议。我在TCL建立了一个无线网络。cc代码对从TCL获得的消息进行加密,然后将加密数据存储在数据包头中,并将其发送到另一个节点。另一个节点应该检索该数据并将其解密为原始明文。 我遇到了一个问题,当第二个节点接收到无线数据包并访问报头以检索加密数据(以便它可以执行解密)时,接收到的数据被修改。 例如: =>如果我想发送消息“abc”(消息将被转换为整数进行加密),第一个节点将对消息进行加密,并将其存储在数据包头中。当我在发送前打印标题中的加密数据时
void Security_packetAgent::recv(Packet * pkt, Handler * ) {
// Access the IP header for the received packet:
hdr_ip * hdrip = hdr_ip::access(pkt);
// Access the security packet header for the received packet:
hdr_security_packet * hdr = hdr_security_packet::access(pkt);
//code for storing the data and handling it
}
其中,hdr_security_数据包位于加密协议的头文件中,接收到的加密数据存储在hdr中。
感谢您的帮助。
提前谢谢