1> 用虚拟机、PC机、Cortex A8开发板搭建环境,以虚拟机为模拟路由器,以此来模拟实现PC机与A8之间的通信。
2> 建立通过原始套接字对链路层进行数据的接收与发送,实现A8开发板与PC机两个不同网段的通信。创建线程,。线程一:接收链路层的数据包并对数据进行解析,实现路由器的转发和过滤功能;线程二:读取键盘输入信息,通过相应的命令实现:查看路由器ARP表、网卡信息、防火墙的设置和查看、保存、及删除IP。
3> 判断链表中是否存在过滤IP,如果存在则实现防火墙的过滤功能;如果不存在的,则继续实现通信。可以根据从键盘上输入指定的过滤IP,建立ip过滤表及配置文档。
项目收获 :
1.学会使用抓包工具wireshark抓取数据包,并能进行初步数据分析。
2.进一步掌握了Socket原始套接字的运用,以及线性池的使用;
3.熟悉ARP、UDP、TCP协议的数据包格式。
4.更加深入地了解了数据包在网络中的传输过程。
5.进一步巩固了Linux下文件操作、指针、数组、链表的使用。