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 -- ...
随机推荐
- Python csv.md
csv csv模块可以用于处理从电子表格和数据库导出的数据到带有字段和记录格式的文本文件,通常称为逗号分隔值(csv)格式,因为逗号通常用于分隔记录中的字段. Reading csv.reader(c ...
- Monad、Actor与并发编程--基于线程与基于事件的并发编程之争
将线程.事件.状态等包装成流的源. 核心:解决线程的消耗和锁的效率问题. Java和Node.js可以说分别是基于线程和基于事件的两个并发编程代表,它们互相指责瞧不起对方,让我们看看各种阵营的声音: ...
- ORACLE 11GR2常用命令
一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...
- 谈谈HTTP
HTTP又称超文本传输协议,在互联网上广为流传和应用. 今天主要讲这么几个? a.针对HTTP下细分为: HTTP概念.Request和Response详解.Request中GET和POST的区别.说 ...
- WorldWind源码剖析系列:设置类SettingsBase
PluginSDK中的星球设置类WorldSettings 和WorldWind.程序设置类WorldWindSettings均继承自父类SettingsBase.类图如下所示.其中父类Setting ...
- linux内核中socket的创建过程源码分析(详细分析)
1三个相关数据结构. 关于socket的创建,首先需要分析socket这个结构体,这是整个的核心. 104 struct socket { 105 socket_state ...
- Luogu P4071 [SDOI2016]排列计数
晚上XZTdalao给我推荐了这道数论题.太棒了又可以A一道省选题了 其实这道题也就考一个错排公式+组合数+乘法逆元 我们来一步一步分析 错排公式 通俗的说就是把n个1~n的数排成一个序列A,并使得所 ...
- mfc CListCtrl 报表格式
知识点: CListCtrl报表格式 CListCtrl报表格式添加列 CListCtrl报表格式添加行 CListCtrl报表格式设置单元格 一.CListCtrl报表格式 类名:SysListVi ...
- 5.Xilinx RapidIO核例子工程源码分析
https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...
- SQL SERVER数据库升级手册
背景 最近接手很多项目都跟数据库升级有关.感触还是颇深,写个心得,供大家参考,如果有疑问欢迎留言. 为什么升级? 你可能会因为各种各样的原因选择升级.我认为原因主要是3个方面 1.旧版本使 ...