原始套接字的花花世界
原始套接字的花花世界
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)
一般来说,我们会用到如下三种套接字: TCP:SOCK_STREAM套接字 UDP:SOCK_DGRAM套接字 原始套接字:SOCK_RAW套接字 对于TCP和UDP两种套接字,相对来说只要配置好IP ...
- 原始套接字SOCK_RAW
实际上,我们常用的网络编程都是在应用层的报文的收发操作,也就是大多数程序员接触到的流式套接字(SOCK_STREAM)和数据包式套接字(SOCK_DGRAM).而这些数据包都是由系统提供的协议栈实现, ...
- 网络编程(原始套接字)
原始套接字提供如下功能: 1.读写ICMPv4,IGMPv4及ICMPv6分组.如ping程序,就是使用原始套接口中发送ICMP回显请求,并接受ICMP回显应答 2.读写特殊的IPv4数据报.大多数内 ...
- Linux原始套接字学习总结
Linux网络编程:原始套接字的魔力[上] http://blog.chinaunix.net/uid-23069658-id-3280895.html 基于原始套接字编程 在开发面向连 ...
- Linux原始套接字实现分析---转
http://blog.chinaunix.net/uid-27074062-id-3388166.html 本文从IPV4协议栈原始套接字的分类入手,详细介绍了链路层和网络层原始套接字的特点及其内核 ...
- Raw_Socket原始套接字
一.创建raw socket的权限:只有root权限才能够创建. 二.raw socket的用途:主要有三个方面 (1):通过raw socket来接收发向本机的ICMP,IGMP协议包,或者用来发送 ...
- 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
一.大致流程: 将ICMP头和时间数据设置好后,通过创建好的原始套接字socket发出去.目的主机计算效验和后会将数据原样返回,用当前时间和返回的数据结算时间差,计算出rtt. 二.数据结构: ICM ...
- 【Linux网络编程】原始套接字实例:发送 UDP 数据包
以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...
- 【Linux网络编程】原始套接字实例:MAC 地址扫描器
如果 A (192.168.1.1 )向 B (192.168.1.2 )发送一个数据包,那么需要的条件有 ip.port.使用的协议(TCP/UDP)之外还需要 MAC 地址,因为在以太网数据包中 ...
最新文章
- 【Netty】Bootstrap引导
- 深入理解JAVA序列化
- CVPR 2019 GCT:《Graph Convolutional Tracking》论文笔记
- 46. Permutations (Back-Track,Sort)
- Hadoop之Hadoop数据压缩
- 【转】Dynamics CRM 365零基础入门学习(五)权限管理
- 跨年操作--new Date()
- linux 清除mysql密码_linux重置mysql密码
- JAVA-1011. A+B和C (15)
- 11 Sping框架--AOP的相关概念及其应用
- 洛谷 P1306 斐波那契公约数
- [转载] Java继承概念和关键字
- 64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)
- JAVA生成pdf文件
- 『地铁交换机作用』地铁交换机用哪个国家的
- 使用Typora添加数学公式
- 项目管理、Bug管理软件工具:禅道,BugFree,Redmine
- MP地面站二次开发教程(二)MP的框架与修改
- Java实现Zoho Mail 发送邮件,使用hutool工具类。
- o2o实战报错:addShopImg error:null / character to be escaped is missing
热门文章
- android 手机震动1次,Android的手机震动
- Docker容器——重命名镜像的TAG
- Android使用GoogleMap实现定位及定位回正
- win10 计算机 搜索文件夹,win10如何搜索文件或文件夹_win10怎么全盘搜索文件-win7之家...
- 【GANs学习笔记】(一)初步了解GANs
- Selective Search学习笔记
- 软件体系结构的基本概念与作用
- 覃卫平java,广西外国语学院与柳州市柳江区实验高中、柳城县中学签订优质生源基地协议并圆满完成挂牌仪式...
- matlab cdf 曲线不平滑,拟合经验CDF曲线以找到确切的值
- 搜索技术-全文检索概述