原始套接字的花花世界


ICMP:通常去检测一个网络是否为通畅,例如ping一个IP
IGMP:组播中的控制报文,控制协议

创建

int socket(AF_INET,SOCK_RAW,protocol);
处理ip数据的套接字
int socket(AF_PACKET,SOCK_RAW,protocol);
处理以太网数据报的套接字

输出

ssize_t sendto(int sockfd,const void *buf,size_t len,int flags,const struct sockaddr *dest_addr,socklen_t addrlen);

输入

哪几种情况内核会将接受到的IP数据报文传递给原始套接字:
   1、接收到的TCP和UDP绝不传递到任何套接字
   2、ICMP分组会在内核处理完其中的ICMP消息之后传递到原始套接字
   3、IGMP分组同上
   4、内核不认识其协议字段的IP数据报
ssize_t recvfrom(int sockfd,void *buf,size_t len,int flags,struct sockaddr *src_addr,socklen_t *addrlen)

ping程序的实例

busy
ox

原始套接字的花花世界相关推荐

  1. 原始套接字学习笔记(1)

    一般来说,我们会用到如下三种套接字: TCP:SOCK_STREAM套接字 UDP:SOCK_DGRAM套接字 原始套接字:SOCK_RAW套接字 对于TCP和UDP两种套接字,相对来说只要配置好IP ...

  2. 原始套接字SOCK_RAW

    实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM).而这些数据包都是由系统提供的协议栈实现, ...

  3. 网络编程(原始套接字)

    原始套接字提供如下功能: 1.读写ICMPv4,IGMPv4及ICMPv6分组.如ping程序,就是使用原始套接口中发送ICMP回显请求,并接受ICMP回显应答 2.读写特殊的IPv4数据报.大多数内 ...

  4. Linux原始套接字学习总结

    Linux网络编程:原始套接字的魔力[上] http://blog.chinaunix.net/uid-23069658-id-3280895.html 基于原始套接字编程        在开发面向连 ...

  5. Linux原始套接字实现分析---转

    http://blog.chinaunix.net/uid-27074062-id-3388166.html 本文从IPV4协议栈原始套接字的分类入手,详细介绍了链路层和网络层原始套接字的特点及其内核 ...

  6. Raw_Socket原始套接字

    一.创建raw socket的权限:只有root权限才能够创建. 二.raw socket的用途:主要有三个方面 (1):通过raw socket来接收发向本机的ICMP,IGMP协议包,或者用来发送 ...

  7. 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)

    一.大致流程: 将ICMP头和时间数据设置好后,通过创建好的原始套接字socket发出去.目的主机计算效验和后会将数据原样返回,用当前时间和返回的数据结算时间差,计算出rtt. 二.数据结构: ICM ...

  8. 【Linux网络编程】原始套接字实例:发送 UDP 数据包

    以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...

  9. 【Linux网络编程】原始套接字实例:MAC 地址扫描器

    如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip.port.使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 ...

最新文章

  1. 【Netty】Bootstrap引导
  2. 深入理解JAVA序列化
  3. CVPR 2019 GCT:《Graph Convolutional Tracking》论文笔记
  4. 46. Permutations (Back-Track,Sort)
  5. Hadoop之Hadoop数据压缩
  6. 【转】Dynamics CRM 365零基础入门学习(五)权限管理
  7. 跨年操作--new Date()
  8. linux 清除mysql密码_linux重置mysql密码
  9. JAVA-1011. A+B和C (15)
  10. 11 Sping框架--AOP的相关概念及其应用
  11. 洛谷 P1306 斐波那契公约数
  12. [转载] Java继承概念和关键字
  13. 64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)
  14. JAVA生成pdf文件
  15. 『地铁交换机作用』地铁交换机用哪个国家的
  16. 使用Typora添加数学公式
  17. 项目管理、Bug管理软件工具:禅道,BugFree,Redmine
  18. MP地面站二次开发教程(二)MP的框架与修改
  19. Java实现Zoho Mail 发送邮件,使用hutool工具类。
  20. o2o实战报错:addShopImg error:null / character to be escaped is missing

热门文章

  1. android 手机震动1次,Android的手机震动
  2. Docker容器——重命名镜像的TAG
  3. Android使用GoogleMap实现定位及定位回正
  4. win10 计算机 搜索文件夹,win10如何搜索文件或文件夹_win10怎么全盘搜索文件-win7之家...
  5. 【GANs学习笔记】(一)初步了解GANs
  6. Selective Search学习笔记
  7. 软件体系结构的基本概念与作用
  8. 覃卫平java,广西外国语学院与柳州市柳江区实验高中、柳城县中学签订优质生源基地协议并圆满完成挂牌仪式...
  9. matlab cdf 曲线不平滑,拟合经验CDF曲线以找到确切的值
  10. 搜索技术-全文检索概述