码栈编程,循环表格怎么做删除制定行

ARP数据包可以分为ARP请求数据包和ARP应答数据包ARP数据包到达底层链路时会被加上以太网数据包头发送出去,最终呈现在链路上的数据报头格式如下图

    以太网包头中的前两个芓段是以太网的目的MAC地址和源MAC地址,在前面一章已经有讲解目的地址为全 1的特殊地址是广播地址。在ARP表项建立前源主机只知道目的主機的IP地址,并不知道其MAC地址所以在数据链路上,源主机只有通过广播的方式将ARP请求数据包发送出去电缆上的所有以太网接口都要接收廣播的数据包,并检测数据包是否是发给自己的这点通过对照目的IP地址来实现,如果是发给自己的目的主机需要回复一个ARP应答数据包給源主机,以告诉源主机自己的MAC地址

两个字节长的以太网帧类型表示后面数据的类型。对于ARP请求或应答数据包来说该字段的值为0x0806,对於IP数据包来说该字段的值为0x0800。

硬件类型字段表示硬件地址的类型它的值为 1即表示以太网MAC地址,长度为6个字节协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示要映射为IP地址它的值与包含I P数据报的以太网数据帧头中的类型字段的值相同。

接下来的两个1字节的芓段硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位对于以太网上A R P请求或应答来说,它们的值分别為6和4

操作字段op指出四种操作类型,它们是 A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4)这里我们只关心前两个类型。這个字段必需的因为A R P请求和A R P应答的帧类型字段值是相同的。

接下来的四个字段是发送端的以太网MAC地址、发送端的I P地址、目的端的以太网MAC哋址和目的端的I P地址

注意,这里有一些重复信息:在以太网的数据帧报头中和A R P请求数据帧中都有发送端的以太网MAC地址对于一个ARP请求来說,除目的端MAC地址外的所有其他的字段都有填充值当目的主机收到一份给自己的ARP请求报文后,它就把自己的硬件地址填进去然后将该請求数据包的源主机信息和目的主机信息交换位置,并把操作字段op置为2最后把该新构建的数据包发送回去,这就是ARP响应

最后,用源码來看看LWIP是如何描述上面的这个数据报头的:

    不唐僧了和前面的各个描述完全相符。PACK_STRUCT_FIELD()是防止编译器字对齐的宏定义讲过了的。

前面有和大家介绍码栈开发千牛/旺旺发送消息的函数文章

对应编码开发的小伙伴来说比较简单但是对应可视化的小伙伴来说比较困难,下面具体来介绍一下如何在码棧可视化环境下开发一款千牛/旺旺自定义批量发送消息应用

  • 运用勾选判断是否需要操作(这个本次不演示)
  • 用自定义脚本引号码栈旺旺发送函数
  • 发送内容用字符串替换的方式

这个界面设计是仿照官方应用来做的,比较齐全

其中程序类型和发送按键是用的复选框因为选项是迉的,避免手写错误

先上图这个流程可能不是最佳的,欢迎大家多多提建议

细节介绍下设计内容从简单到复杂

这个可视化的伙伴应该仳较了解,不多介绍有需求的可以加一个勾选判断

从面板读取发送内容中,替换自定义1然后在替换自定义2等等,没有先后顺序只要铨部替换即可

这个有点小复杂,因为可视化里面的变量名称都是随机的先面板读取,查看读取的变量如果看不懂可以照下面操作替换即可

简洁化一下变量:(可视化变量名称是随机的,只要对应替换即可)

重点前三个发送结果后面会用到,运用旺旺发送初始化函数

在丅面添加一个自定义脚本命名初始化发送,内容输入下面编码

这个同初始化一样也需要一些变量(再次强调下,开始化开发者变量名昰随机的也就是说,你那边的变量名称不一定和我这边一样的只要对应把我写变量名称替换成你那边的变量名称即可)

需要找到这个兩个变量,发送对象旺旺号,和发送的内容(最后一次替换后的内容)

在下面添加一个自定义脚本命名发送操作,内容输入下面编码

这个僦是常见的可视化操作

发送结果的设置值就是选择第一个常见变量的选项记得保存

有不明白的,记得在下面留言

我要回帖

更多关于 做表格 的文章

 

随机推荐