首先,你应该考虑广播过时,特别是INADDR_BROADCAST(255.255.255.255)。您的问题突出显示广播不合适的原因之一。它应该与IPv4一起死亡(希望)。请注意,IPv6甚至不具有广播概念(而是使用多播)。

INADDR_BROADCAST仅限于本地链接。如今,只有可视用途是DHCP自动配置,因为在这样的时候,客户端不知道它连接到哪个网络。

使用单个sendto(),只生成一个数据包,并且出接口由操作系统的路由表(linux上的ip路由)决定。您不能有单个sendto()生成多个数据包,您必须遍历所有接口,并使用原始套接字或使用setsockopt(…,SOL_SOCKET,SO_BINDTODEVICE,“ethX”将套接字绑定到设备“)发送绕过OS路由表的每个数据包(这需要root权限)。不是一个很好的解决方案。

相反,由于INADDR_BROADCAST无法路由,您可以通过遍历每个接口实现几乎相同的事情,并将数据包发送到其广播地址。例如,假设您的网络具有255.255.255.0(/ 24)掩码,则广播地址为192.168.1.255和192.168.2.255。为这些地址中的每一个调用sendto()一次,您将完成您的目标。

编辑:关于INADDR_BROADCAST的固定信息,并用关于SO_BINDTODEVICE的信息补充答案。

linux udp广播转发到所有ip,linux – 所有接口上的UDP广播相关推荐

  1. linux用cat查看本机ip,linux sh 如何根据出口网关来获取本机出口ip

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试机器:华为P7-L07 安卓测试环境:EMUI 3.1 安卓5.1.1(版本号:P7-L07C01B851,基带版本:23.600.06.00.00, ...

  2. linux查看上次重启日志和ip,Linux實時查看日志,訪問前10IP 和相關命令

    本文介紹Linux下tail命令的使用方法. linux tail命令用途是依照要求將指定的文件的最后部分輸出到標准設備,通常是終端,通俗講來,就是把某個檔案文件的最后幾行顯示到終端上,假設該檔案有更 ...

  3. Linux网卡改为动态过去IP,Linux修改网卡ens33为eth0以及centos7下修改动态IP为静态IP地址...

    修改网卡ens33为eth0 在使用RHEL和Centos7,发现网卡名称变成了EnoX,挺不习惯.现更改回旧名称eth0看着顺眼. 1.备份/etc/sysconfig/grub文件 cp /etc ...

  4. java 判断是linux系统_java判断是window系统还是Linux系统,并获取其IP地址及文件上传 | 学步园...

    这是upload类的方法: public class Upload { public static String upload(FormFile formfile,String dirPath,int ...

  5. Linux系统如何配置64个IP,Linux系统配置IP

    Linux版本centos7 64位系统 一,DHCP分配IP地址 自动获取IP: # dhclient 二,设置静态IP 查看网卡名称: # ip add 或 # ifconfig 编辑网卡配置文件 ...

  6. linux看请求报文发送的ip,Linux C 实现最简单的ICMP_ECHO请求报文发送

    弄了两天,终于搞定了!把最简单的icmp报文发送实现了.本程序在linux环境编写,使用原始套接字. 实现步骤: 1.得到protocol实体(protoent,声明于): 2.初始化地址结构(soc ...

  7. linux中nmcli命令配置网卡ip,Linux 使用nmcli配置网络

    Linux 使用nmcli配置网络 前提: 在虚拟机中添加一张桥接模式的网卡,如果是VirtualBox虚拟机中要shutdown才能添加. 1.启动NetworkManager工具,安装nmcli命 ...

  8. linux欢迎信息打印本机ip,Linux shell 登录显示欢迎信息或机器信息(示例代码)

    写这个脚本的背景:因为管理的机器越来越多,每次登录机器都可以显示相应机器的信息防止误操作. 同时个人工作的环境有多个跳板机, 也容易操作错误,  所以每台机器上加个登录显示. 创建登录显示脚本 修改 ...

  9. linux网卡配置文件中2个ip,Linux Centos 7系统中如何一个网卡配置多个IP

    因最近笔者在工作遇到这样一种情况,对多台服务器做组网规划的时候,客户方给出的IP数量有限, 不够每一台主机都分配到IP,但笔者又想了一下,不一定每台服务都得使用DCN网地址, 因此笔者想到可以对必须使 ...

最新文章

  1. 解决img标签间距问题
  2. Cleaver快速制作网页PPT
  3. 无法安装或运行应用程序。该应用程序要求首先在“全局程序集缓存(gac)”中安装程序集system.data.entity...
  4. Python map 函数 - Python零基础入门教程
  5. activiti5第四弹----serviceTask中的java服务任务
  6. 计算机参观企业心得,走进联想 感悟联想——北航MBA参观联想集团总部
  7. [转帖]到底什么是时间复杂度
  8. MathType2022最新版详细教程及怎么安装到word里?
  9. 渗透测试常用工具-端口扫描
  10. bmd硬盘测试_硬盘测速工具:Blackmagic Disk Speed Test Mac
  11. 【已成功安装但无法使用】Python 3.10.2 安装pyodbc
  12. VB中九九乘法表的实现
  13. 《机器人爱好者(第1辑)》——机器人和人工智能
  14. TypeScript 之 infer
  15. c语言统计学生成绩输入一个正整数n,输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计各等级成绩的个数...
  16. [DP]hdu5234
  17. 青少年编程 中国电子学会scratch等级考试二级历年真题解析【持续更新 已更新至2023年3月】
  18. Windows MinWG 编译 thrift
  19. Java面试必背八股文[11]:计算机网络
  20. 干货·Doherty功放设计

热门文章

  1. 转*SqlSever查询某个表的列名称、说明、备注、注释,类型等
  2. Vue.js 运行机制全局概览浅读
  3. AWS Fargate告诉你:什么是容器即服务
  4. Java 面向对象 之 封装方法
  5. preventDefault, stopPropagation, stopImmediatePropagation 三者的区别
  6. react 项目实战(二)创建 用户添加 页面 及 fetch请求 json-server db.json -w -p 8000...
  7. jquery之统计数字parseFloat
  8. poj_1442 Treap
  9. 整理LVS架构压力测试工作
  10. 递归(二)-------经典递归实例(汉诺塔问题)