linux WOL 唤醒信号监听,解析

wol 本质也是一个网络包,用于局域网内部唤醒只用。

WOL 包分析
使用工具Wake On Lan 配置wol.mac 地址,ip.mac 地址(255.255.255.255),然后出发一下。
在这里插入图片描述
使用Wireshark抓取刚刚的WOL 包在这里插入图片描述
可以看到服务端发出的这个包的大小为144 byte,下面我们
看看包里面有哪些字段。

  • destination broadcast( eth.dst)
    占用6 个字节
    在这里插入图片描述
  • source hardware address(eth.src)
    占用6个字节
    在这里插入图片描述
  • Type(eth.type)
    占用两个字节,当前为ipv4
    在这里插入图片描述
  • Version & Header Length (ip.version & ip.hdr_len)

版本是4,长度是5
在这里插入图片描述
在这里插入图片描述

  • Differentiated Service Field (ip.dsfired)
    占据1个字节
    在这里插入图片描述
  • Total Length(ip.len)
    占据2个字节,值为130
    在这里插入图片描述
  • Identification (ip.id)
    占据2个字节
    在这里插入图片描述
  • Fragement offset(ip.frag_offset)
    占2个字节
  • Time to live(tp.ttl)
    占1个字节
  • Protocol (ip.proto)
    占1个字节
    在这里插入图片描述
  • Header checksum(ip.checksum.status)
    占2个字节
  • Source(ip.src)
    占4个字节
    在这里插入图片描述
  • Destination (ip.dst)
    占4个字节
    在这里插入图片描述
  • Source Port(udp.srcport)
    占2个字节
  • Destination Port(udp.dstport)
    占2个字节
  • Lenghth (udp.length)
    占2个字节
    在这里插入图片描述
  • CheckSum (udp.checksum)
    占2个字节
    在这里插入图片描述
  • Sync stream(wol.sync)
    占6个字节,是wol 信息的sync 帧
    在这里插入图片描述
  • Text Item (text)
    占用96 字节,发送16次被唤醒机器的mac 地址。
    在这里插入图片描述

数据解析

服务端,发送完上面的wol packet。 客户端就可以绑定对应端口,解析局域网内网络了。

#define  DEBUG (0)
void * monitorWolPktThread(void *pData)
{
   
    int sock        = -1;
    int nb          
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值