OpenState安装及 Port Knocking 实验
OpenState安装及 Port Knocking 实验
目录
- OpenState安装
- Port Knocking 实验
OpenState安装及 Port Knocking 实验
OpenState安装
1.系统要求:
- 系统ubuntu 16.04
- mininet:2.3.0d
2.下载安装文件:
在浏览器中输入即可下载
http://openstate-sdn.org/install.sh
修改下权限,chmod 777 install.sh,将42行及80行的:sudo chown -R mininet:mininet 中的 mininet:mininet 修改为对应的用户。例:笔者用户名为sdn,即更改为sudo chown -R sdn:sdn
3.安装
在install.sh文件目录下执行以下命令,一键安装:
$ sudo ./install.sh
最终输出以下,即安装完成:
echo "All set! To start using OpenState please refer to
http://openstate-sdn.org for some example applications."

Port Knocking 实验
1.通过键入以下命令在Mininet中启动portknock控制器应用程序:
$ ryu-manager ryu/ryu/app/openstate/portknock.py
端口敲击程序由以下端口序列组成,实际打开最后一个端口22的位置,我们必须首先“敲”前面的4个端口。
PORT_LIST = [10, 11, 12, 13, 22]
2.启动Mininet,使用2个主机的单个拓扑:
$ sudo mn --topo single,2 --mac --switch user --controller remote -x
要实际敲打UDP端口,我们将在h1和h2上使用netcat,nc命令介绍。 在h2的终端上运行以下命令(用于监听h2 的22端口):
h2# nc -lu 22
3.在h1的终端上键入以下命令:
echo "hello" | socat - udp4-datagram:10.0.0.2:22
正如你可以从H2看到的,没有收到数据包。
4.在h1向h2发送udp报文
echo "hello" | socat - udp4-datagram:10.0.0.2:10
echo "hello" | socat - udp4-datagram:10.0.0.2:11
echo "hello" | socat - udp4-datagram:10.0.0.2:12
echo "hello" | socat - udp4-datagram:10.0.0.2:13
echo "hello" | socat - udp4-datagram:10.0.0.2:22
可以看到h2上收到了hello的报文,但是当每次输入稍微慢的时候则会导致即使输入了正确的端口序列,也不能够访问22端口。

使用已经存在的py文件作为拓扑 如果没有controller参数的话,默认mininet自带的控制器
sudo mn --custom ~/mininet/custom/topo-2sw-2host.py. --topo mytopo --mac--switch ovsk --controller remote,ip=127.0.0.1,port=6633
本文转载自:考拉小无
OpenState安装及 Port Knocking 实验的更多相关文章
- [原创]安全系列之端口敲门服务(Port Knocking for Ubuntu 14.04 Server)
Port Knocking for Ubuntu 14.04 Server OS:ubuntu 14.04 server 原理简单分析: 端口敲门服务,即:knockd服务.该服务通过动态的添加ipt ...
- [转]Caffe在Linux下的安装,编译,实验
Caffe在Linux下的安装,编译,实验 原文地址:http://www.cnblogs.com/evansyang/p/6150118.html 第一部分:Caffe 简介 caffe是有伯克利 ...
- win10下caffe安装与mnist测试实验注意点
caffe安装 安装内容:win10教育版+anaconda2+python(无gpu版本) 安装教程:主要依照三年一梦教程:https://www.cnblogs.com/king-lps/p/65 ...
- centos 6.10源码安装mysql5.5.62实验
查看系统版本 [root@ABC ~]# cat /etc/redhat-release CentOS release 6.10 (Final) 下载mysql5.5.62源码包,解压后安装 tar ...
- MySQL的安装——源码方式(实验环境下测试用,真实环境请忽略此文)
#虚拟机是最初的的系统,我们在虚拟机里安装scp [root@serv01 ~]# yum install /usr/bin/scp -y #安装过程略 #我们拷贝MySQL的源码包到目标机的/roo ...
- 在VirtualBox 虚拟机中安装CentOS7 64位实验基础系统
1.将CentOS-7-x86_64-Minimal ISO加载入虚拟机,选择安装CentOS 7 2.启动欢迎画面,保持默认,选择 继续 3.安装参数设置 3-1.设置时区以便同步时间,将时区更改为 ...
- 安装VC++6.0实验环境
安装VC++6.0步骤:(1)下载一个压缩包进行解压(2)点击打开解压后的文件(3)找到文件里的程序进行安装(4)等待安装完成该程序后可以试着运行一下此程序,在此我们需要了解编写程序的步骤和注意事项. ...
- Kafka 安装配置 及 简单实验记录
1. 下载二进制文件并解压,并修改 broker.id 的值 wget http://apache.fayea.com/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz - ...
- 解决:jenkins jnlp安装 provided port 40127 is not reachable
解决方法: 开放linux 防火墙40127端口允许下载jnlp centos7 解决如下: [root@hostuser chrome]# firewall-cmd --zone=public -- ...
随机推荐
- sed 指定行范围匹配(转)
sed -n '5,10{/pattern/p}' file sed是一个非交互性性文本编辑器,它编辑文件或标准输入 导出的文件拷贝.标准输入可能是来自键盘.文件重定向.字符串或变量,或者是一个管道文 ...
- oracle 查询SQL 的执行速度
SELECT SE.SID, OPNAME, TRUNC(SOFAR / TOTALWORK * 100, 2) || '%' AS PCT_WORK, ELAPS ...
- [转]用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口
原文链接: 1.用多线程方法实现在MFC/WIN32中调用OpenGL函数并创建OpenGL窗口 2.Windows MFC 两个OpenGL窗口显示与线程RC问题
- ArcGIS中的坐标系统定义与投影转换方法
坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统的GIS数据是不完善的,因此在ArcGI ...
- Python2.7-matplotlib
matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表 一般用以下形式导入:import matplotlib.pyplot as plt 一般用法:1. ...
- JavaScript HTML DOM,BOM
DOM DOM 是一个 W3C (万维网联盟) 标准. DOM 定义了用于访问文档的标准: "W3C 文档对象模型 (DOM) 是一个平台和与语言无关的界面, 允许程序和脚本动态访问和更新文 ...
- ansible 远程以普通用户执行命令
1. ansible 10.0.0.1 -m raw -a "date" -u www 2.在ansible的主机配置文件中指定ssh_uservi/etc/ansible/hos ...
- 404 Note Found队 Beta答辩总结
目录 所有成员 项目宣传视频链接 贡献比例 工作流程 组员分工 本组 Beta 冲刺站立会议博客链接汇总 燃尽图 原计划.达成情况及原因分析 组员:胡绪佩 组员:周政演 组员:庄卉 组员:何家伟 组员 ...
- php操作oracle查询时中文乱码
putenv("LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib"); putenv("ORACLE_HOME=/usr ...
- 关于Android开发环境的演变
是不是我天生就不适合安装软件——经过eclipse.jdk.Android Studio的历次安装,我发觉自己似乎永远都装不好.去年eclipse断断续续装了三四天,那时希望能附加C++的软件包,却始 ...