1. 主题

使用W5500测试UDP功能,发现收到的数据包和wireshark抓包的数据不同。

原来W5500接收寄存器的数据包并不是网络上的数据流,而是经过内部处理后展现出来的。

对于这个问题目前没有查到文档,技术支持给我的回应是:

寄存器里的数据的格式为: 对方ip(4bytes)  +端口号(2bytes)+ 数据长度 (2bytes)+ UDP数据。

2. 问题分析

1)使用TCP助手发送UDP数据,发送3个字节,字符型123.

2. 程序断点,读取接收寄存器接收的长度为11字节。前8字节的内容为:C0 A8 01 64 17 70 00 03。

这个正好是源IP,端口,数据长度。 而不是标准UDP协议包头。

3. 使用wireshark抓包。发现数据流并不是上面芯片寄存器的内容。

UDP实际数据包有11个字节,上面W5500寄存器里面读出来也是11字节。但是内容却不一样。

抓包捕获的前面8个字节是UDP头,实际数据3个字节,数据为0x31,0x32,0x33。

源地址为192.168.1.100,已经捕获到。而上面W5500的数据包里面直接给出这个地址。

4. 分析UDP数据包格式,对比上面的抓包数据,可以知道,W5500作为一个硬件TCP/IP芯片,内部的逻辑处理已经对数据进行了筛选。

显示出来的数据都是用户关心的比如IP,端口,用户数据长度,用户数据。用户无关的网络协议本身的部分数据已经屏蔽掉了。

但是这些问题在芯片手册上没有描述数据输出是什么格式,确实有遗漏之处,难免让人有些担心其严谨性。

网络:W5500 UDP数据包格式注意事项的更多相关文章

  1. 网络编程-pcap数据包格式

    Libpcap的官方网站是http://www.tcpdump.org/,该项目和Tcpdump项目是同一个团队维护.Libpcap是一个平台独立的 数据包捕获开发包,制定了数据包离线存储的事实标准. ...

  2. [na]二层+tcp/udp数据包格式

    标准:6+6+2+3    =17            3 思科:6+6+2+3+3=20           6 ip首部格式 tcp首部格式

  3. 浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)

    UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp的最大包长度是2^16-1的个 ...

  4. 【VS开发】浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)

    UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp的最大包长度是2^16-1的个 ...

  5. 【VS开发】【DSP开发】TCP和UDP数据包结构

    TCP (Transport Control Protocol)传输控制协议: 1.TCP数据包的分组格式: A,源端口:标识源端应用进程. B, 目的端口:标识目的端应用进程. C, 序号:在SYN ...

  6. ETHERNET数据包格式( IP & UDP & ICMP & ARP )

    ETHERNET数据包格式( IP & UDP & ICMP & ARP ) ETHERNET数据包格式 一.ETHERNET 数据包的协议类型 TYPE 的值为 0x0800 ...

  7. 004.UDP--拼接UDP数据包,构造ip头和udp头通信(使用原始套接字)

    一.大致流程: 建立一个client端,一个server端,自己构建IP头和UDP头,写入数据(hello,world!)后通过原始套接字(SOCK_RAW)将包发出去. server端收到数据后,打 ...

  8. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  9. [转帖]IP /TCP协议及握手过程和数据包格式中级详解

    IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...

随机推荐

  1. pom.xml settings.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  2. php 遍历静态html成文章列表

    准备 代码 <?php $root=__DIR__; //全站目录 function my($dir){ static $item_arr=array(); $a=scandir($dir); ...

  3. HTML5学习笔记简明版(10):废弃的元素和属性

    废弃的元素(Element) 这个小节里列出的元素在HTML5里将不再使用.现有文档升级到 HTML5的话能够使用一些替代方案. 比如parser section 能够处理isindex 元素的功能. ...

  4. Asp.net在页面间传递大量数据(数据表)建议采用的方法

    能让数据在 两个不同站点之间传递吗? 我现在是想A站点的数据 传递到B站点....... 建议使用Cache (1)不太影响程序性能不太可能,你都说了,是大量数据.我举个例子,你是从A.aspx传到B ...

  5. Classification week3: decision tree 笔记

    华盛顿大学 machine learnign :classification week 3 笔记 第二步: 注: 其中 ,mistake 的计算方法: 给定一个节点的数据集M,对每个特征hi(x),根 ...

  6. Linux命令之paste

    介绍 cut用来从文本文件或标准输出中抽取数据列或者域,然后再用paste可以将这些数据粘贴起来形成相关文件.粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同. paste将按行将不同 ...

  7. Log4Net 笔记

    Log4net框架简介: Log4net 是 Apache 下的一个开源项目,log4net框架基于Apache log4j™.Log4net用于日志记录或跟踪API,它允许开发人员控制以任意粒度输出 ...

  8. ios 制作自已的framework

    本文转载至 http://blog.csdn.net/chen505358119/article/details/9190731   ios中我们写的代码有时不愿意让别人看到,可能对它进行封装,生成一 ...

  9. jetty 通过配置文件嵌入式启动web服务

    定义 jetty.xml 启动文件 <?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty/ ...

  10. golang 面向对象

    深入理解GO语言的面向对象_Golang_脚本之家 https://www.jb51.net/article/94030.htm 深入理解GO语言的面向对象 更新时间:2016年10月04日 10:4 ...