gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:23:26 26 4
gpt4 key购买 nike

如何使用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返回时,if用datasize字节填充该数组。要查看内容,请从索引 0 开始迭代 reply,直到 datasize:

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

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

关于c - 如何在 Linux C 中使用原始套接字接收 bpdu 流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27586562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com