Ryu代码解析-DNS欺骗
软件定义网络利用控制器对网络的控制,实现一些传统网络中难以实现的功能,控制器在这个网络中扮演一个上帝的角色,上一篇文章里已经介绍了控制器可以实现代理应答,本次要介绍的是利用控制器和python来对数据包内容进行解析,实现DNS欺骗。原理解析 主机在进行域名解析的时候,先向DNS服务器发送DNS Request报文,而后DNS服务器回复一个Reply报文,主机接收此报文即可完成解析。既然控制器可以造出ICMP应答报文,也能造出DNS回复报文。 »
软件定义网络利用控制器对网络的控制,实现一些传统网络中难以实现的功能,控制器在这个网络中扮演一个上帝的角色,上一篇文章里已经介绍了控制器可以实现代理应答,本次要介绍的是利用控制器和python来对数据包内容进行解析,实现DNS欺骗。原理解析 主机在进行域名解析的时候,先向DNS服务器发送DNS Request报文,而后DNS服务器回复一个Reply报文,主机接收此报文即可完成解析。既然控制器可以造出ICMP应答报文,也能造出DNS回复报文。 »
在SDN中最重要的就是控制器,控制器的代码决定了整个网络的特点,Ryu提供了很多协议的数据包代码,我们可以根据这些代码对网络中的数据包进行修改,达到我们想要的效果。 Ping是我们经常用到的一个命令,我们用它来检测网络连通性,如果收到了目标IP的应答消息,我们就认为Ping成功了。 据此我们可以编写一个程序,来实现主机不管ping什么地址,我们都可以给它应答。 下面先放代码:import »
上一篇文章是关于Hub的,有关一些函数的用法都在上一篇文章里,大家有需要可以自行查看。 一个简单的交换机需要具有以下功能: 1.能够学习MAC地址,并且把MAC地址和接口联合起来填充MAC地址表。 2.当收到数据包的目的MAC地址在MAC地址表里面时,将数据包发送出去。 3.当收到的数据包目的MAC地址不在MAC地址表里面的时候,进行泛洪。下面我们开始讲一下需要的 »
我们的目标是用Ryu程序实现一个Hub,Hub的主要功能是把收到的数据包进行泛洪,Hub的算法有很多,这里以官方给出的一个来说明。OpenFlow 交换机可以根据控制器(如RYU)的指令来进行以下操作:1.重写收到数据包的地址,或者从指定的接口传输数据包。2.传输收到的数据包给控制器(Packet-In)。2.传输由控制器指定的转发接口的数据包(Packet-Out)。下面放上代码:#by man #!/usr/bin/env python #!!!!!OpenF »
思科设备SSH登陆详细配置过程我们用GNS3进行拓扑搭建。实验拓扑图如下:进行完基本配置之后开始配置SSH服务器(R2)1.首先验证设备是否支持SSHR2#show ip ssh能够识别这条命令就说明支持。2.配置IP域名使用config# ip domain-name domain-name 全局配置模式命令配置网络 IP 域名。3.生成RSA密钥对生成 RSA 密钥对将自动启用 SSH。使用 config#crypto key generate rsa 全局配置模式命令在交换机上启用 SS »