linux广播报文未转发

linux广播报文未转发,第1张

linux广播报文转发解决办法:1,重新检查一下电脑程序,点击一下查看广播是不是广播 哪里出故障了 ,重新下载安装后就可以了。2,直接打开广播,清除里面的数据,把以前的报文全部清除,然后再重新转发就可以了

哥们,没bind你收啥?你又把my_addr传给recvfrom干啥(该传their_addr).

我给你写了个

#include <stdio.h>

#include <stdlib.h>

#include <netinet/in.h>

#include <sys/socket.h>

#include <sys/types.h>

int main()

{

int n, fd

socklen_t cli_addr_len

char buf[1024] = {0}

struct sockaddr_in servaddr, cliaddr

if((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)

{

printf("socket error!\n")

exit(0)

}

servaddr.sin_family = AF_INET

servaddr.sin_addr.s_addr = htonl(INADDR_ANY)

servaddr.sin_port = htons(9999)

bind(fd, (struct sockaddr *)&servaddr, sizeof(servaddr))

while(1)

{

cli_addr_len = sizeof(cliaddr)

n =recvfrom(fd, buf, 1024, 0, (struct sockaddr *)&cliaddr, &cli_addr_len)

printf("%d\n", n)

}

}

这个程序只能收到发往本机IP地址和广播地址的端口为9999的数据包,如果你要监听局域网中的所有广播包(任意端口),可以用原始套接字,我前两天正好写了个,功能很强大哦:),已经是个嗅探器了,你用的时候加上 -u 选项就可以了。

famdestiny.cublog.cn


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6223949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存