2 qq 14934273 qq_14934273 于 2016.01.17 15:01 提问

linux下怎么发送ip层原始报文啊?

没有链路层的报文哈,我用socket发送,怎么发?在线等待,谢谢谢谢谢谢谢谢啦

4个回答

91program
91program   Ds   Rxr 2016.01.17 16:44

用Socket,前提是你得系统网络支持。不清楚你的所谓没有IP层是什么意思!

save4me
save4me   Ds   Rxr 2016.01.17 16:47
oyljerry
oyljerry   Ds   Rxr 2016.01.17 20:58

lonux直接有系统的sicket API send来发送数据

yamizZ
yamizZ   2016.01.18 16:00

然后用send发送即可图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux原始套接字-发送ICMP报文
本程序可以使得一个不存在的ip被ping通,演示了如何通过PF_PACKET SOCK_RAW来接收和发送arp和icmp帧。
Linux内核构造数据包并发送(Netfilter方式)
一、构造数据包简析  这里并不详细介绍如何在内核中构造数据包,下文如有需要会在适当的位置进行分析。这里简单的分析讲一下内核态基于Netfilter框架构造数据包的方式。         内核中可以用到的构造数据包的方式,个人认为可以分为两种。  其一,我们直接用alloc_skb申请一个skb结构体,然后根据实际的应用填充不同的成员,或者基于当前数据包的skb,调用skb_cop
IP层关联协议之ICMP
ICMP      ICMP是IP层协议(曾经被面试官问到的问题我不知道,个哈哈哈哈),他的使用是为了有效地转发数据报和提高交付成功的机会。ICMP作为IP层数据报的数据,加上数据报的首部,组成ICMP报文发送出去。ICMP允许主机或者路由器报告差错情况和提供有关异常情况的报告。          ICMP报文的种类:ICMP差错报告报文和ICMP询问报文          ICMP差错
linux原始套接字-发送ARP报文
linux原始套接字,可以直接发送和接收链路层和网络层的报文,对我们理解TCP/IP协议栈有很多帮助。 也可写出很多有趣的程序。 下面的例子是向192.168.1.60的电脑,发送伪造的ARP报文,使其更新ARP表,导致无法PING通192.168.1.201。 使用命令arp -d 删除arp缓存即可恢复。 本示例仅供学习交流,请勿用于非法用途。 #include #in
Linux内核IP层的报文处理流程--从网卡接收的报文处理流程
本文主要讲解了Linux内核IP层的整体架构和对从网卡接受的报文处理流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式对Linxu内核中IP整体实现架构和对网卡报文的处理流程进行了讲解,希望可以对大家有所帮助。阅读本文章假设大家对C语言有了一定的了解 IP层的整体实现架构 IP层接受底层数据报
linux下原始ip数据包包头(tcp头、udp头)的获取和分析
前言     在有些时候我们需要直接抓取并分析原始ip数据包(比如说netfilter内核框架中数据包的分析、原始套接字中数据包的分析),但是我们所能获得的ip数据包通常只是一个若干字节的在连续地址空间中存储的数据,比如存在数组char[MSG_SIZE]中,下面介绍如何分析原始ip数据包中的数据。     在开始分析包头之前我们假设原始ip数据包存储在缓存char buf[MSG_S
[转载]使用原始套接字发送自定义IP包
<br />原文作者:Refdom<br /><br /> 这里介绍Windows Sockets的一些关于原始套接字(Raw Socket)的编程。同Winsock1相比,最明显的就是支持了Raw Socket套接字类型,通过原始套接字,我们可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制。 <br /><br /> 1、 创建一个原始套接字,并设置IP头选项。 <br /><br /> SOCKET sock; <br /> sock = sock
Linux C raw_socket (原始套接字)
我们平常所用到的网络编程都是在应用层收发数据,每个程序只能收到发给自己的数据,即每个程序只能收到来自该程序绑定的端口的数据。收到的数据往往只包括应用层数据。某些情况下我们需要执行更底层的操作,比如监听所有本机收发的数据、修改报头等。 通过原始套接字,我们可以抓取所有发送到本机的IP包(包括IP头和TCP/UDP/ICMP包头),也可以抓取所有本机收到的帧(包括数据链路层协议头)。普通的套接字无法
原始套接字的初始化及收发流程分析
这篇文章写的很棒http://biancheng.dnbcw.info/linux/430376.html
读取linux下的网络设备的mac地址与发送原始数据包 (2011-11-23 20:11)
一:linux下的网络设备 linux的网络设备信息都在/proc/net/dev,从这里我们可以得到所有网卡的名字,如eth0, eth1等等   root@dlrc-desktop:/home/dlrc/dlsp-ep9302/work/mystar-v0.4# cat /proc/net/dev Inter-| Receive | Transmit face