首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenBSD上的原始套接字icmp的协议族不支持发送到地址族

OpenBSD是一个开源的操作系统,它支持原始套接字(raw socket)来进行网络编程。然而,在OpenBSD上的原始套接字icmp协议族不支持发送到地址族。

ICMP(Internet Control Message Protocol)是一种网络协议,用于在IP网络中传递控制消息和错误报告。它通常与IP协议一起使用,用于网络故障排除、网络拓扑发现和网络性能测量等。

原始套接字是一种特殊类型的套接字,它允许应用程序直接访问网络协议栈。通过原始套接字,开发人员可以构建自定义的网络报文,并发送到网络中。然而,在OpenBSD上,原始套接字icmp协议族不支持发送到地址族。

尽管OpenBSD上的原始套接字icmp协议族不支持发送到地址族,但仍然可以使用其他协议族来发送网络数据。例如,可以使用TCP协议族或UDP协议族来发送数据包到特定的地址。

对于在OpenBSD上进行网络编程的开发人员,可以考虑使用其他协议族来发送数据,或者使用其他操作系统或云计算平台来满足特定需求。腾讯云提供了丰富的云计算产品和服务,可以满足各种开发需求,具体产品和服务可以参考腾讯云官方网站(https://cloud.tencent.com/)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

套接socket 地址和类型、工作原理、创建过程

(二)、套接接口种类 Linux 支持多种套接种类,不同套接种类称为“地址”,这是因为每种套接种类拥有自己通信寻址方法。Linux 所支持套接地址见表12.3。...Linux 将上述套接地址抽象为统一 BSD 套接接口,应用程序关心只是 BSD 套接接口,而 BSD 套接由各地址专有的软件支持。...BSD 套接详细操作与具体底层地址有关,底层地址不同实际意味着寻址方式、采用协议不同。Linux 利用 BSD 套接层抽象了不同套接接口。...在引导阶段初始化套接接口时,内核调用每个地址初始化例程,这时,每个地址注册自己协议操作集。协议操作集实际是一个例程集合,其中每个例程执行一个特定操作。...(四)、套接创建过程 Linux 在利用socket()系统调用建立新套接时,需要传递套接地址标识符、套接类型以及协议,其函数定义于net/socket.c 中: asmlinkage

2.6K120

C语言第1课——socket编程+c++,c语言语录

TCP/IP协议 传输控制/网际协议,又叫网络通信协议。实际,它包含上百个功能协议,如ICMP(互联网控制信息协议)、FTP(文件传输协议)、UDP(用户数据包协议)、ARP(地址解析协议)等。...套接分为三类: 流式socket(SOCK_STREAM):流式套接提供可靠、面向连接通信流;它使用TCP协议,从而保证了数据传输正确性和顺序性。...原始socket:原始套接允许对底层协议如IP或ICMP进行直接访问,它功能强大但使用复杂,主要用于一些协议开发。 套接由三个参数构成:IP地址,端口号,传输层协议。...struct sockaddr { //地址,2节 unsigned short sa_family; //存放地址和端口,14节 char sa_data[14]; } struct...两种数据结构中,地址都占2个字节, 常见地址有:AF_INET,AF_INET6AF_LOCAL。

2.3K10
  • Socket编程

    ;SOCK_RAW,这是原始类型,允许对底层协议如IP或ICMP进行直接访问,基本不会用到。...如果之前使用了AF_INET初始化Socket,那么这里可以使用元组(host,port)形式表示地址。 例如,要将刚才创建Socket套接绑定到本机2345端口,就可以使用如下语句。...接收TCP连接并返回(conn,address),其中,conn是新套接对象,可以用来接收和发送数据;address是连接客户端地址。 ?...将string中数据发送到连接套接,但在返回之前会尝试发送所有数据。...其中,data是包含接受数据字符串,address是发送数据套接地址。 close():关闭Socket ? 一个交互程序 先运行服务端,再运行客户端。 server.py ? ? ?

    81210

    原始套接 IP_HDRINCL 转

    原始套接可以访问ICMPICMP协议包,可以读写内核不处理IP数据包。可以创建自定义IP数据包首部。一句话,使用原始套接可以   编写基于IP协议通讯程序。   ...1.创建原始套接具体格式如下:int sockfd;sockfd = socktet(AF_INET, SOCK_RAW, IPPROTO_ICMP);第一个参数:协议 AF_INET 代表TCP/...@当需要编写自己IP数据包首部时,可以在原始套接设置套接选项IP_HDRINCL.在不设置这个选项情况下,IP协议自动填充IP数据包首部。   .../n");exit(1);}   原始套接直接使用IP协议套接,所以是非面向连接。在这个套接可以调用connect和bind函数,分别执行绑定对方和本地地址。   ...在将一个IP数据包传送给原始套接之前,内核需要选择匹配原始套接1.数据包协议域必须与接收原始套接协议类型匹配。

    2.4K10

    【测试开发】python系列教程:socket模块

    一篇 【测试开发】python系列教程:threading模块 这次我们分享pythonsocket库。...Socket实例化格式为: socket(family,type[,protocal]) 其中,三个参数中family是要使用地址,以下是常用协议 协议 类型 AF_INTE IPv4...,非可靠连接 SOCK_RAW 原始类型 允许对底层协议如IP或ICMP进行直接访问 第三个参数是指使用协议,这个参数是可选额,通常赋值“0”,由系统自动选择。...其中data是包含接收数据字符串,address是发送数据套接地址 close() 关闭socket 四、代码演示 思路 1 创建套接,绑定套接到本地IP与端口   s=socket.socket...然后接收传来数据,并发送给对方数据 s.recv() , s.sendall() 5 传输完毕后,关闭套接 s.close() TCP客户端: 1 创建套接,连接远端地址 socket.socket

    21910

    领航Linux UDP:构建高效网络新纪元

    /协议):决定了socket地址类型。...常用socket类型有SOCK_STREAM(流式套接,用于TCP)、SOCK_DGRAM(数据报套接,用于UDP)、SOCK_RAW(原始套接,允许对底层协议如IP或ICMP进行直接访问)等。...常见错误码包括EACCES(权限不足)、EADDRINUSE(地址已经被占用)、EAFNOSUPPORT(地址不支持)、EINVAL(参数无效)、EMFILE(达到进程允许打开最大文件数目)、ENFILE...常见错误包括EACCES(权限不足)、EADDRINUSE(地址已经被使用)、EADDRNOTAVAIL(地址不可用)、EAFNOSUPPORT(地址不支持套接类型)、EINVAL(套接未打开...如果接收到数据比缓冲区还大,那么只会取缓冲区大小数据,并将剩余数据丢弃。 1.4、sendto sendto函数是一个系统调用,用于将数据从指定套接发送到目标地址

    14110

    python学习----------so

    网络两个程序通过一个双向通信连接实现数据交换,这个连接一端称为socket,socket通常也叫做"套接",用来描述ip地址和端口,是一个通信连句柄,可以实现不同虚拟机和计算机之间通信。...   数据报式socket , for UDP   socket.SOCK_RAW 原始套接,普通套接无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊...socket.SOCK_RDM 是一种可靠UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。...address地址格式取决于地址。在AF_INET下,以元组(host,port)形式表示地址。...其中data是包含接收数据字符串,address是发送数据套接地址。 sk.send(string[,flag])   将string中数据发送到连接套接

    1K10

    python模块介绍- socket(1

    套接有两个基本属性用来控制发送数据:地址控制OSI网络层使用协议套接类型控制输送层协议。 Python支持3种地址。最常见AF_INET,用于IPv4互联网寻址。...IPv6是“下一代”版本互联网协议。它支持128位地址,流量控制和IPv4不支持路由功能。IPv6有限使用,但持续增长。...11.1.1 寻址、协议家族和socket类型  套接是程序在本地或者跨因特网来回传递数据通信通道端点。...套接是程序使用通信信道用来本地或网络上来回传送数据一个端点。套接有两个基本属性用来控制 发送数据:地址控制OSI网络层使用协议套接类型控制输送层协议。 Python支持3种地址。...它支持128位地址,流量控制和IPv4不支持路由功能。IPv6有限使用,但继续 增长。 AF_UNIX是UNIX域套接(UDS),是POSIX兼容系统上进程间通信协议

    80310

    python资源库——socket网络编

    ,普通套接无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊IPv4报文;此外,利用原始套接,可以通过IP_HDRINCL套接选项由用户构造IP...socket.SOCK_RDM 是一种可靠UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。...socket.SOCK_SEQPACKET 可靠连续数据包服务 Socket类方法 方法 描述 s.bind(address) 将套接绑定到地址。address地址格式取决于地址。...其中data是包含接收数据字符串,address是发送数据套接地址。 sk.send(string[,flag]) 将string中数据发送到连接套接。...sk.sendto(string[,flag],address) 将数据发送到套接,address是形式为(ipaddr,port)元组,指定远程地址。返回值是发送字节数。

    89710

    网络协议

    网络协议为计算机网络中进行数据交换而建立规则,标准或约定集合,它规定了通讯时信息必须采用格式和这些格式所代表意义。网络协议使网络各种设备能够相互交换信息。...TCP/IP协议是internet网络基础协议,他不是一个协议,而是一个协议统称。 TCP/IP协议包括TCP协议,IP协议ICMP协议和HTTP协议等。...在一个路由式网络中,源地址主机向目标地址主机发送数据时,IP协议是如何将数据成功发送到目标主机上面的呢。...为了区分同一台主机上面不同应用程序数据包,传输层提供了端口和套接.端口号用来识别应用程序. 套接socket,可以区分不同应用程序间网络通讯和连接....多路复用:从源主机不同套接中收集数据库,并且能为每个数据块封装首部信息,从而生成报文段,然后将报文段传递到网络层中. 多路分解,能把传输层报文段中数据交付到正确套接.

    56910

    网络编程之Socket

    一、Socket介绍 1、什么是Socket Socket是应用层与TCP/IP协议通信中间软件抽象层。它是一组接口。...socket type 类型 socket.SOCK_STREAM # for TCP scoket.SOCK_DGRAM # for UDP socket.SOCK_RAW # 原始套接,普通套接无法处理...ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊IPv4报文;此外,利用原始套接,可以通过IP_HDRINCL套接选项由用户构造IP头。...socket.SOCK_RDM # 是一种可靠UDP形式,即保证交付数据但不保证顺序。SOCK_RAM用来提供对原始协议低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。...The return value is a pair (bytes, address) s.getpeername() 连接到当前套接远端地址。 s.close() 关闭套接

    57310

    一份超详细计算机网络基础学习指南

    :NFS协议 3.5 报文段格式 UDP报文段共有2个字段:数据字段 & 首部字段 下面主要介绍首部(8节、4个字段) ?...Socket 5.1 简介 即套接,是应用层 与 TCP/IP 协议通信中间软件抽象层,表现为一个封装了 TCP / IP协议 编程接口(API) ?...成对出现,一对套接: Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)} 一个 Socket 实例 唯一代表一个主机上一个应用程序通信链路 6....6.3 ICMP协议 定义 Internet Control Message Protocol,即 网际控制报文协议 属于IP层协议 注:ICMP报文不是高层协议,而是作为IP层数据报数据,加上数据报首部...,无经过传输层TCP、UDP 作用 测试2个主机连通性 原理 向目的主机发送多个ICMP回送请求报文 根据 目的主机返回ICMP回送回答报文中时间戳,从而计算出往返时间 最终显示结果:发送到目的主机

    2.2K30

    c socket

    在TCP/IP协议簇中,使用UDP协议来实现数据报套接。 1.3原始套接套接允许对较低层协议(如IP或ICMP)进行直接访问。 2....基本操作函数 >* **创建套接 socket()** socket()函数调用格式: `socket(int af,int type,int protocol);` 参数**af**指定套接使用协议...包括**数据流**、**数据报**、**原始类型**。 参数protocol说明该套接使用协议特定协议。如果调用者不希望特别指定使用协议,则置为0,使用默认连接模式。...bind():绑定本地地址 一个套接用socket()创建后,它其实还没有与任何特定本地或目的地址相关联 connect():将套接连接到目的地址 初始创建套接并未与任何外地目的地址关联。...:服务器socket描述,2: 指针,用于返回客户端协议地址,3:协议地址长度 if(sAccept == INVALID_SOCKET) { printf("accept

    64030

    Python3实现ICMP远控后门()

    第二节 ICMP协议及报文格式 ICMP(Internet Control Message Protocol)是IPv4协议一个子协议,用于IP主机、路由器之间传递控制消息。...如上图所示,ICMP协议在实际传输中数据包:20节IP首部 + 8ICMP首部+ 1472节38节。...第三节 ping实现 在上面我们简单讲解了ICMP报文格式,接下来我们使用Python3根据报文格式简单实现一下ping功能,主要用到了raw socket技术,即原始套接,使用struct pack...原始套接初始化,使用如下代码: socket.socket(socket.AF_INET,socket.SOCK_RAW, socket.getprotobyname('icmp')) 里面比较复杂是计算校验和...Python脚本,直接ping 百度地址 220.181.112.244 同时打开wireshark抓包。

    1.3K30

    Python socket 模块使用

    数据报式socket , for UDP   socket.SOCK_RAW 原始套接,普通套接无法处理ICMP、IGMP等网络报文,而SOCK_RAW可以;其次,SOCK_RAW也可以处理特殊...IPv4报文;此外,利用原始套接,可以通过IP_HDRINCL套接选项由用户构造IP头。   ...socket.SOCK_RDM 是一种可靠UDP形式,即保证交付数据报但不保证顺序。SOCK_RAM用来提供对原始协议低级访问,在需要执行某些特殊操作时使用,如发送ICMP报文。...其中data是包含接收数据字符串,address是发送数据套接地址。 sk.send(string[,flag])   将string中数据发送到连接套接。...sk.sendto(string[,flag],address)   将数据发送到套接,address是形式为(ipaddr,port)元组,指定远程地址。返回值是发送字节数。

    1.2K20

    一份超详细计算机网络基础学习指南(文末送书)

    协议 网络管理:SNMP协议 远程文件服务器:NFS协议 3.5 报文段格式 UDP报文段共有2个字段:数据字段 & 首部字段 下面主要介绍首部(8节、4个字段) 3.6 TCP、UDP协议区别...Socket 5.1 简介 即套接,是应用层 与 TCP/IP 协议通信中间软件抽象层,表现为一个封装了 TCP / IP协议 编程接口(API) Socket不是一种协议,而是一个编程调用接口...成对出现,一对套接: Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)} 一个 Socket 实例 唯一代表一个主机上一个应用程序通信链路 6....分类 传统IP地址是分类地址,分为A,B,C,D,E五类 区别在于网络号 & 主机号占字节数不同 特别注意:在各类IP地址中,有一些IP地址用于特殊用途,不能用于做主机IP地址 6.3 ICMP...,无经过传输层TCP、UDP 作用 测试2个主机连通性 原理 向目的主机发送多个ICMP回送请求报文 根据 目的主机返回ICMP回送回答报文中时间戳,从而计算出往返时间 最终显示结果:发送到目的主机

    1.1K33

    Python网络编程中套接名和DNS解析

    这一次要讲的是套接名和DNS,并且还会涉及到网络数据发送接受和网络错误发生和处理。下面说套接名,在创建和部署每个套接对象时总共需要做5个主要决定,主机名和IP地址是其中最后两个。...第2个参数就是套接类型,然后我们解释一下套接类型,尽管TCP和UDP是AFINET协议特有的,但是套接接口设计者决定基于数据报套接这一宏观概念创建一些更通用名字,这就是SOCKDGRAM...这两个符号就可以覆盖不同地址很多协议了。 socket()调用第3个参数是协议,但是一旦确定了协议套接类型,可能使用协议范围就被缩到了一个主要选项。如果设置成0。...在IP使用流时候自动选择TCP,设置数据报时候自动选择UDP。 至于第4个和第5个参数就是IP地址和端口号。当然现在如果要是使用IPV6地址的话,那你可以看看AF_INET6。...将邮件发送到远程地址

    3.5K70

    八股文!!

    OSI分层协议 TCP/IP协议分层 各层协议概述 tcp/ip协议数据流 各层协议标识 tcp/ip协议中数据转发 ARP地址解析协议 ARP报文头格式 arp协议 arp高速缓存 3 IP逐跳协议...字节序 整数内存布局 IP地址划分 基于子网掩码划分 IP路由配置 路由控制表 IP协议问题 4 ICMP协议 ICMP报文头 ICMP协议作用 ICMP应用—ping程序 ICMP应用--...以此共勉 tcp/ip协议存在意义 协议分层 各层协议概述 OSI分层协议 TCP/IP协议分层 各层协议概述 tcp/ip协议数据流 各层协议标识 IP地址:在网络层唯一确定一个具体网络...Fragment offset:某个分片位于原始报文中偏移,重组报文时使用 TTL:分片生命周期 Protocol:上层协议标识(TCP/UDP/ICMP等) 校验和:针对IP首部累加校验和 源IP...,永远无法发现对端异常 网络断开 网络断开时,数据无法发送到对方,正常数据通信和触发关闭链接报文都被抑制 另一端read该套接时,将会被挂起或得到EAGAIN错误 另一端write该套接时将会持续重传

    1K11

    计算机网络:我把所有计算机网络基础都汇总到这里了!

    远程文件服务器:NFS协议 3.5 报文段格式 UDP报文段共有2个字段:数据字段 & 首部字段 下面主要介绍首部(8节、4个字段) ?...Socket 5.1 简介 即套接,是应用层 与 TCP/IP 协议通信中间软件抽象层,表现为一个封装了 TCP / IP协议 编程接口(API) ?...Socket去组织数据,以符合指定协议,即可通信 成对出现,一对套接: Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)} 一个 Socket 实例 唯一代表一个主机上一个应用程序通信链路...6.3 ICMP协议 定义 Internet Control Message Protocol,即 网际控制报文协议 属于IP层协议 注:ICMP报文不是高层协议,而是作为IP层数据报数据,加上数据报首部...、UDP 作用 测试2个主机连通性 原理 向目的主机发送多个ICMP回送请求报文 根据 目的主机返回ICMP回送回答报文中时间戳,从而计算出往返时间 最终显示结果:发送到目的主机

    1.6K20

    计算机网络:请您收好这份全面&详细计算机网络基础学习攻略

    :FTP协议 网络管理:SNMP协议 远程文件服务器:NFS协议 3.5 报文段格式 UDP报文段共有2个字段:数据字段 & 首部字段 下面主要介绍首部(8节、4个字段) 3.6 TCP...Socket 5.1 简介 即套接,是应用层 与 TCP/IP 协议通信中间软件抽象层,表现为一个封装了 TCP / IP协议 编程接口(API) Socket不是一种协议,而是一个编程调用接口...即可通信 成对出现,一对套接: Socket ={(IP地址1:PORT端口号),(IP地址2:PORT端口号)} 一个 Socket 实例 唯一代表一个主机上一个应用程序通信链路 5.2 其他知识...特别注意:在各类IP地址中,有一些IP地址用于特殊用途,不能用于做主机IP地址 6.3 ICMP协议 定义 Internet Control Message Protocol,即 网际控制报文协议...,从而计算出往返时间 最终显示结果:发送到目的主机IP地址、发送 & 收到 & 丢失分组数、往返时间最小、最大 & 平均值 过程 假设有两台主机: (目的主机)PC1:IP = 192.168.1.1

    59950
    领券