繁体   English   中英

如何在Linux C中使用原始套接字接收bpdu流量

[英]How to receive bpdu traffic using raw socket in Linux C

如何使用recvfrom()获取数据包? 以及如何知道bdpu流量? 我读了一些资料,但没有找到侦听以太网流量。

int data_size, addr_size;
char reply[6000];
struct sockaddr_in addr;

addr_size = sizeof addr;
datasize = recvfrom(sock, reply, 6000, 0, &addr, &addr_size);

if(data_size<0)
{
    printf("nothing recv");
}
printf("%x",reply);

输出:

651a7ec0

这是什么? 我不知道。

Reply变量是指向6000字节数组的指针。 当recvfrom的返回时,如果满足了这一阵列命令datasize字节。 要查看内容,请遍历索引0的回复 ,直到datasize为止:

for(i=0;i<datasize;i++)
{
    printf("%02x ",reply[i]);
}

我建议将回复声明为unsinged char reply[6000]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM