LDD3中snull网络驱动程序的使用
本附件程序在Ubuntu 14.04、内核版本3.13下测试通过。
1、测试步骤
1)在/etc/networks文件中添加如下网段IP:
snullnet0 192.168.0.0
snullnet1 192.168.1.0
2)在/etc/hosts文件中添加如下IP地址:
192.168.0.1 local0
192.168.0.2 remote0
192.168.1.2 local1
192.168.1.1 remote1
3)编译成KO文件后使用insmod安装模块,并设置网络接口:
insmod ./snull.ko
ifconfig sn0 local0
ifconfig sn1 local1
4)ping测试
ping -c 1 remote1
当ping -c 1 remote1 时用dmesg查看内核日志,可看到:
[15303.586006] snull: c0a80001:30223 <-- c0a80002:02048
[15303.586061] snull: c0a80101:00000 --> c0a80102:32271
2、结果分析:
在snull_hw_tx()函数中,做了三个调换以实现欺骗:
来源地址第三octet 0<->1
目的地址第三octet 0<->1
设备snX编辑0<->1
这样做的理由是:
sn0(发):192.168.0.1 --> 192.168.0.2
做了调换后,就变成:
sn1(收):192.168.1.1 --> 192.168.1.2
因为sn1的地址就是192.168.1.2,所以,它收到这个包后,会回应:
sn1(发):192.168.1.2 --> 192.168.1.1,
同样地,做了这样的调换后,就变成:
sn0(收):192.168.0.2 --> 192.168.0.1
这样,sn0就会收到这个包,实现了ping的请求与应答。
注:
如果要调试timeout
insmod snull.ko lockup=3
LDD3中snull网络驱动程序的使用相关推荐
- linux驱动设备信息失败怎么办,Linux设备驱动程序(LDD)中snull的编译问题 《转》
对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识.本文在debian6.0上运行通过,内核版本为2.6.32. 学习LDD中网络驱动程序部分,理解sn ...
- Windows内核原理与实现之 NDIS(网络驱动程序接口规范)
文章摘录自<Windows内核原理与实现>一书. 在Windows的网络栈中,网络协议与网络适配器是分离的,协议驱动程序并不针对特定的网络适配器而设计,然而,当协议驱动程序正真运行时,它必 ...
- NDIS网络驱动程序-----
from:http://blog.sina.com.cn/s/blog_61d65e360100waop.html NDIS网络驱动程序-----学习(一) (2011-08-15 21:48:14) ...
- Linux操作系统网络驱动程序编写
2019独角兽企业重金招聘Python工程师标准>>> Linux操作系统网络驱动程序编写 一.Linux系统设备驱动程序概述 1.1 Linux设备驱动程序分类 1 ...
- Docker中的网络详解
本节主要是介绍Docker默认的网络行为,包含创建的默认网络类型以及如何创建用户自定义网络,也会介绍如何在单一主机或者跨主机集群上创建网络的资源需求. 1.默认网络 当你安装了docker,她自动创建 ...
- linux usbnet网络驱动,[技术资料]基于usb设备的linux网络驱动程序开发
1 引言 做为开放源代码 (open source) 运动重要组成部分,linux操作系统吸引了数以万计的程序员共同开发.由于linux比较完整的继承了各种unix版本的稳定和高效,并且克服和改进了传 ...
- Java中的网络和TCP/IP协议
网络和TCP/IP协议 一.网络通信协议 1.1 协议和七层模型 1.2 TCP/IP协议 二.网络通信的实现 2.1 TCP协议通信 2.2 UDP协议通信 前言: 有时候我们会不理解,我们在QQ上 ...
- 嵌入式Linux设备驱动程序:用户空间中的设备驱动程序
嵌入式Linux设备驱动程序:用户空间中的设备驱动程序 Embedded Linux device drivers: Device drivers in user space Interfacing ...
- linux中的网络配置
Linux中的网络配置 1 什么是IP ADDRESS 2 子网掩码 3 ip通信判定 4 网络设定工具 4.1 设置双网卡 4.2 ping命令 4.3 ifconfig命令 4.4 ip addr ...
最新文章
- DataGrid和GridView单击背景变色双击颜色还原
- ActiveMQ持久化消息的三种方式
- R语言可视化绘图基础知识详解
- 算法----有效的括号
- Windows Mobile 6.5.3 Developer Tool Kit
- BroadcastReceive之ip拨号
- TCP的拥塞控制机制
- CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)
- c# 日期函数[string.Format----GetDateTimeFormats] --转载
- git pull git add git commit git branch git更新代码git提交git分支管理
- 高效管理http连接
- 那些年,我们一起学过的汇编----之子程序设计
- [机器学习入门] 经典台大李宏毅机器学习课程从这里开始
- 关于IE上embed自动播放
- 【Java异常】Variable used in lambda expression should be final or effectively final
- php黑名单绕过,文件上传漏洞之黑名单检测绕过
- arg是什么函数_JavaScript 函数式编程 - 基本范式简介
- ANSYS中vonnbsp;misesnbsp;stres…
- 【BYM】Android 实现相机快门动画
- 华东师大计算机软件6,华东师大计算机应用于技术题库 .doc