recv(sock, RecvBuf, sizeof(RecvBuf), 0)//接收数据
saSource.sin_addr.s_addr = pIpheader->ip_src//保存ip地址
strncpy(szSourceIP, inet_ntoa(saSource.sin_addr), MAX_ADDR_LEN)//将ip地址转换成字符串保存在szSourceIP中
iUdpDataLen =(ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct udphdr))) //协议包中数据长度
if((pIpheader->ip_p)==IPPROTO_UDP&&iUdpDataLen!=0)//判断通信协议是否为IPPROTO_UDP代表的协议
{
pUdpData=(unsigned char *) RecvBuf+sizeof(struct ipheader)+sizeof(struct udphdr)//如果是,则将pUdpData指向确切的数据那里,每个数据包都有包头加数据
iUdpDataLen=ntohs(pIpheader->ip_len)-(sizeof(struct ipheader)+sizeof(struct udphdr))//更新数据长度
if(ntohs(pUdpheader->dport)==8000)//如果通信使用的是8000端口
if(iUdpDataLen%4==0 && iUdpDataLen>0) //判断数据长度是否有效
if(pUdpData[0]==0x02 && pUdpData[3]==0x00 && pUdpData[iUdpDataLen-1]==0x03)//这是验证数据的,有些通信协议就是会在固定的位置上写上固定的值
{
QQ = (pUdpData[7]&0xff) //如果验证通过则说明了这个包里面包含了qq号码,qq号码是经过加密后传输的
QQ = (QQ<<8) + (pUdpData[8]&0xff) //这里做的就是把号码从加密的数据中解密出来
QQ = (QQ<<8) + (pUdpData[9]&0xff)
QQ = (QQ<<8) + (pUdpData[10]&0xff)
printf("IP:%s QQ:%d\r",szSourceIP,QQ)
}
}
js加密的问题是,不论单向双向,加密方式没办法隐藏,会被人家看到。例如我密码是123abc,输入表单后发送,js给加密成了乱码。发给服务端再加密下和数据库比对。问题来了,如果入侵者截获到js加密后的乱码,他可以禁用js,然后直接把乱码输入表单后发送,效果和直接得到用户密码产生1.js加密这里的作用除黑客不知道密码是啥外,其他都没用,乱码也能够登录。js的加密的直接pass掉。这里根本行不通!JavaScript实现的幻灯片效果,网上到处都是,也有很多源代码可以下载, http://www.zcool.com.cn/preview/code/new_code/013/ http://www.zcool.com.cn/jscode/javascript/20081230/code_1230Pc2008.html