当前位置: 首页 > news >正文

东光网站建设淘宝店铺装修哪家公司建换电站

东光网站建设淘宝店铺装修,哪家公司建换电站,大型网站和小企业站优化思路,网站搜索量查询以太网报文格式#xff1a;IP 报文格式#xff1a;UDP 报文格式#xff1a;校验和函数#xff1a;/*******************************************************功能#xff1a;校验和函数参数#xff1a;buf: 需要校验数据的首地址nword: 需要校验数据长度的一半返回值IP 报文格式UDP 报文格式校验和函数/*******************************************************功能校验和函数参数buf: 需要校验数据的首地址nword: 需要校验数据长度的一半返回值校验和*******************************************************/unsigned short checksum(unsigned short *buf, int nword){unsigned long sum;for(sum 0; nword 0; nword--){sum htons(*buf);buf;}sum (sum16) (sum0xffff);sum (sum16);return ~sum;}需要C/C Linux服务器架构师学习资料私信“资料”(资料包括C/CLinuxgolang技术NginxZeroMQMySQLRedisfastdfsMongoDBZK流媒体CDNP2PK8SDockerTCP/IP协程DPDKffmpeg等)免费分享这里是在linux下通过原始套接字组一个 udp 数据包给 PC 机的网络调试助手发送信息#include #include #include #include //struct ifreq#include //ioctl、SIOCGIFADDR#include #include //ETH_P_ALL#include //struct sockaddr_ll unsigned short checksum(unsigned short *buf, int nword);//校验和函数int main(int argc, char *argv[]){//1.创建通信用的原始套接字int sock_raw_fd socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));//2.根据各种协议首部格式构建发送数据报unsigned char send_msg[1024] {//--------------组MAC--------14------0x74, 0x27, 0xea, 0xb5, 0xef, 0xd8, //dst_mac: 74-27-EA-B5-FF-D80xc8, 0x9c, 0xdc, 0xb7, 0x0f, 0x19, //src_mac: c8:9c:dc:b7:0f:190x08, 0x00, //类型0x0800 IP协议//--------------组IP---------20------0x45, 0x00, 0x00, 0x00, //版本号4, 首部长度20字节, TOS:0, --总长度--0x00, 0x00, 0x00, 0x00,//16位标识、3位标志、13位片偏移都设置00x80, 17, 0x00, 0x00,//TTL128、协议UDP(17)、16位首部校验和10, 221, 20, 11,//src_ip: 10.221.20.1110, 221, 20, 10,//dst_ip: 10.221.20.10//--------------组UDP--------87886------0x1f, 0x90, 0x1f, 0x90, //src_port:0x1f90(8080), dst_port:0x1f90(8080)0x00, 0x00, 0x00, 0x00, //#--16位UDP长度--30个字节、#16位校验和};int len sprintf(send_msg42, %s, this is for the udp test);if(len % 2 1)//判断len是否为奇数{len;//如果是奇数len就应该加1(因为UDP的数据部分如果不为偶数需要用0填补)}*((unsigned short *)send_msg[16]) htons(208len);//IP总长度 20 8 len*((unsigned short *)send_msg[14204]) htons(8len);//udp总长度 8 len//3.UDP伪头部unsigned char pseudo_head[1024] {//------------UDP伪头部--------12--10, 221, 20, 11,//src_ip: 10.221.20.1110, 221, 20, 10,//dst_ip: 10.221.20.100x00, 17, 0x00, 0x00, //0,17,#--16位UDP长度--20个字节};*((unsigned short *)pseudo_head[10]) htons(8 len);//为头部中的udp长度(和真实udp长度是同一个值)//4.构建udp校验和需要的数据报 udp伪头部 udp数据报memcpy(pseudo_head12, send_msg34, 8len);//--计算udp校验和时需要加上伪头部--//5.对IP首部进行校验*((unsigned short *)send_msg[24]) htons(checksum((unsigned short *)(send_msg14),20/2));//6.--对UDP数据进行校验--*((unsigned short *)send_msg[40]) htons(checksum((unsigned short *)pseudo_head,(128len)/2));//6.发送数据struct sockaddr_ll sll;//原始套接字地址结构struct ifreq req;//网络接口地址strncpy(req.ifr_name, eth0, IFNAMSIZ);//指定网卡名称if(-1 ioctl(sock_raw_fd, SIOCGIFINDEX, req))//获取网络接口{perror(ioctl);close(sock_raw_fd);exit(-1);}/*将网络接口赋值给原始套接字地址结构*/bzero(sll, sizeof(sll));sll.sll_ifindex req.ifr_ifindex;len sendto(sock_raw_fd, send_msg, 14208len, 0 , (struct sockaddr *)sll, sizeof(sll));if(len -1){perror(sendto);}return 0;} unsigned short checksum(unsigned short *buf, int nword){unsigned long sum;for(sum 0; nword 0; nword--){sum htons(*buf);buf;}sum (sum16) (sum0xffff);sum (sum16);return ~sum;}运行结果如下
http://www.zqtcl.cn/news/638058/

相关文章:

  • 广州工信部网站查询wordpress mysql类
  • 销售网站内容设计书籍管理网站建设需求文档
  • 韩国网站如何切换中文域名如何备案教程
  • 网站维护的基本概念二维码生成器使用方法
  • 公司网站建设模块简介搭建自己的网站需要什么
  • 想做个网站怎么做给国外网站做流量
  • 长春建站培训班免备案虚拟空间
  • 做面包的公司网站alexa世界排名查询
  • 网站备案后下一步做什么263邮箱注册
  • 燕郊网站制作廊坊网站制作网站
  • 开网站建设网站如何做excel预览
  • p2p网站建设方案电商企业有哪些
  • 建设农场网站天元建设集团有限公司法定代表人
  • 论坛网站建设价格百度广告官网
  • 网站开发有哪些语言ps做登录网站
  • 网站怎么做百度关键字搜索国外服务器做网站不能访问
  • 如何选择品牌网站建设做网站容易吧
  • 广州建网站比较有名的公司提升学历英语翻译
  • php网站开发视频教程厦门网站建设公司首选乐振
  • 网站推广项目微信小程序登陆入口
  • 建设部监理协会网站微信公众平台开发微网站
  • 莆田cms建站模板现在可以做网站么
  • windows 建网站湖北省最新消息今天
  • 手机商场网站制作在线看网站源码
  • 云南建设厅网站房地产开发资质做哪一类网站能赚钱
  • 佛山优化网站关键词创作者服务平台
  • python做网站多少钱超级商城系统
  • 网站开发pc端和手机端长沙专业个人做网站哪家好
  • 永州网站建设收费标准天长网站开发
  • 做网站分辨率多少钱装修公司10强排名