网络课程设计,抓包工具的设计与实现,小总

1.抓包是定义,

    (拷贝的百度)

        将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全

抓包也经常被用来进行数据截取等

是不是没看懂,好吧,我也没看懂啥意思

按我的理解来解释就是,一般情况下,在局域网中,每台电脑都能看到所有的传输的数据包,但是,如果这包不是给自己的,他也就只看看,(换句话说,电脑A看到这个数据包是给电脑B的,看这个数据包一眼,然后就不睬它了)

重点来了,如果某台电脑设置为了 混杂模式,他就会接受所有的数据包,他收下这些数据包干啥呢,这就看这台机器的主人了,

2.抓包工具

    肯定是用来抓包的了。。。

java自身是不具备对网络底层的操作的,所以如果使用java的话,需要事先配置一下环境,(配置环境的问题,我在这里就不说了,这是配置环境的博客

一开始写这个的时候,一点头绪都没有,老师说,自己不会写,就去网上看看人家的抓包软件,照猫画虎总会吧,然后我屁颠屁颠的下载了几个抓包软件

用了两三天左右吧程序的核心代码给完成了

主要操作流程如下:


其实难点还是对tcp udp arp(我主要是对这三种协议包的捕获与操作)的封装,在你导入jpcap包后,他的确是已经帮你吧tcp udp arp icmp给封装好了,我感觉这次课程设计要是直接把人家封装好的包拿过来的话,内心会有一点点的小愧疚,然后我就哪了别人的几个属性,自己封装的包,


这些属性在jpcap包里都有,但是全是英文,甚至还是简写,我根本就看不懂这些属性到底是什么意思,找了一份api也是全英文的,我也很无奈啊,后来在网络书上看到了相似的单词简写,那个瞬间是我整个课程设计中最高兴的时刻,有了这些属性的意思,我只需要稍微改一下toString不就OK了吗

    这样一来,包封装好了,捕捉和过滤的事情,这些方法人家都已经写好了,用着还特别爽,大笑大笑

一切都弄的差不多的时候,我突然发现,我这捕捉的是包吗 是包吗???这些不都是包的首部吗???我又重新看了下api,有一个data的属性,输出之后,全是乱码,无可奈何,

    最后一天,上午老师让我们大致讲下思路,不行的话,上午再稍微改一下,下午就要辩论了,然后我就跟老师说说这,说说那,(肯定没说这捕获的首部信息),老师说,深度已经够了,哈哈哈哈,浪去

猜你喜欢

转载自blog.csdn.net/qq_37638061/article/details/80872294