网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
上篇文章SDN-OpenFlow1.0协议分析对OpenFlow1.0协议进行了分析,本篇文章就抓一些包来看一看。
博主使用的是opendaylight氮版本,miniedit进行的网络构建,wireshark进行抓包,一些配置等请查看本专栏其他文章。
Wireshark
Wireshark启动
使用
sudo wireshark
启动wireshark,一段时间后打开界面
打开wireshark
wireshark配置
选择端口
选择抓包接口
博主的控制器和Mininet在一台虚拟机中,所以选择的lo,读者根据自己情况选择。
选择筛选器
筛选openflow1.0协议的消息
选择openflow_v1筛选of1.0协议的消息,否则有ICMP、ARP等协议的消息,列表过长。
使用
tshark -g protocols | grep -i openflow
查看你的wireshark支持的openflow协议版本
wireshark版本
对称消息
Hello消息
OFPT_HELLO
OFPT_HELLO数据包
这是由交换机向控制器发送的HELLO消息,对称消息的一种,用于控制器或交换机在连接建立的期间发送一个Hello数据包,用来表示所支持的最高版本的Openflow协议,协商版本号,建立连接,连接可以从交换机或控制器启动。
ERROR消息
OFPT_ERROR
OFPT_ERROR数据包
这是由交换机向控制器发出的ERROR消息,对称消息的一种。控制器或交换机发送此消息用来指示正常运行期间的故障。错误由消息类型和代码以及对错误的描述来组成。返回码为1表示没有问题,建立连接成功,若为0则失败。
ECHO消息
OFPT_ECHO_REQUEST
OFPT_ECHO_REQUEST数据包
当没有其他的数据包进行交换时,交换机会定期循环给控制器发送OFPT_ECHO_REQUEST来确保与控制器的连接。
OFPT_ECHO_REPLY
OFPT_ECHO_REPLY数据包
控制器对交换机进行回应,确保连接没有问题。
控制器/交换机配置消息
Features消息
OFPT_FEATURES_REQUEST
OFPT_HELLO和OFPT_FEATURES_REQUEST数据包
这是控制器发给交换机的两个数据包,Hello是对称消息,交换机之前给控制器发了,控制器要回一下,可以看到控制器还支持openflow1.3版本。Request消息用于控制器向交换机请求信息,在交换Hello数据包并且建立双方支持的最高版本的Openflow之后,控制器向交换机发送功能请求以检索缓冲区的数量,数据路径ID或其他。
OFPT_FEATURES_REPLY
OFPT_FEATURES_REPLY数据包
交换机向控制器发出,告知控制器自身的信息,这个是交换s1进行的响应,同样还有s2和s3的。 。
Datapath unique id:交换机标识符。
n_buffers:一次最多缓存的数据包数量。
n_tables:表示交换机支持的流表数量。每个流表可以设置不同的通配符和不同数量的流表项。控制器和交换机第一次通信的时候,控制器会从OFPT_FEATURES_REPLY消息中找出交换机支持多少流表,如果控制器还想了解大小、类型和流表查询的顺序,就发送一个OFPT_STATS_REQUEST消息,交换机必须按照数据包遍历流表的顺序把这些流表回复给控制器,并且精确匹配流表排在通配流表前。
CONFIGS消息
OFPT_SET_CONFIG
OFPT_SET_CONFIG数据包
控制器发出的消息,用于对交换机进行配置。
统计消息
OFPT_STATS_REQUEST
OFPT_STATS_REQUEST数据包
控制器想了解更多交换机的信息时发出。
OFPT_STATS_REPLY
OFPT_STATS_REPLY数据包
障碍消息
OFPT_BARRIER_REQUEST
OFPT_BARRIER_REQUEST数据包
控制器向交换机发送该消息,询问之前的命令是否正确运行。
OFPT_BARRIER_REPLY
OFPT_BARRIER_REPLY数据包
交换机向控制器报告命令运行结果。
控制器命令消息
OFPT_PACKET_OUT
OFPT_PACKET_OUT数据包
控制器响应交换机,用于命令交换机将某一数据包进行转发。可以看到动作是Output,端口号是2,也就是命令交换机从端口2将数据包转发出去。
OFPT_FLOW_MOD
OFPT_FLOW_MOD
Cookie为流表项标识符
Command是flow-mod的类型
Idle time-out是流表项的空闲超时时间
hard time-out是流表项的最大生存时间
Priority为流表项的优先级,交换机优先匹配高优先级的流表项;
Buffer Id为交换机中的缓冲区ID,flow-mod消息可以指定一个缓冲区的ID,该缓冲区的数据包会按照此flow-mod消息的action列表处理。如果是手动下发的流,buffer_id应填-1,即0xffff,告诉交换机这个数据包并没有缓存在队列中。
本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。
最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。
最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
学习路线图
其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。
相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。
网络安全工具箱
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。
项目实战
最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~
面试题
归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!