现在在一些小型局域网里面,由于网络分配问题,导致网内进场出现一些攻击。
针对网络争夺,最简单的就是arp攻击。他的原理很简单,将目标机的arp缓存表中的网管mac地址,频繁刷新,并将其写成目标机的mac地址。这样在数据包在第二层打包时,就会将错误的mac写进去,这时数据包就会被转发到目标机上。而目标机具有一定的转发能力,并且还会动态控制报文速度,报文大小等等。这样就可以达到了,争夺网速的目的。
arp防火墙具有如下几个功能:
1,通过sniff识别。侦查攻击者,而这种侦查是不准确的,如果出现2个以上的攻击者,同时攻击者稍微有些技巧,就能让防火墙很难区分出是谁在攻击。
readmore
首先搞清楚goto的作用范围。
goto的作用范围仅仅在一个函数内,跨越函数是不行的。
setjmp和longjmp组成一个对。用来达成goto的作用,但作用域比较大。
setjmp有点像label。执行他之后,会在该代码段记录下指令地址。
longjmp和goto类似,用于跳转用。
为什么会在深更半夜来提及这个问题?
因为在校时的网络流量一直让我非常在意。学校的组网我并不了解,当时没有往网络方向靠拢,更就不太可能研究这些了。
记得当时学校的网络实际联网大概我还是偶然见过一次。在接入层,学校用了tplink的24/48口的便宜交换机。交换机的上行方向与一个快速的G级交换机连接,这样就完成了一个很小片区 的布局了。这个快速G级交换机又与一台汇聚层交换机连接。连接方式好像是光缆。条数不明,应该不会很多的。因为学校就屁大一点。
汇聚一类的交换机,学校好像也就有2台。这样就走到了一台路由那,这台路由估计应该用了核心层中最便宜的。因为汇聚层本来就是作为快速交换用的,只有核心层才是用来做路由协议的。
下面进入正题。
readmore
首先text().asd()这种用法是第一次见到。
问了网友,其实我也不太明白。说是text()是一个返回指向自己的函数,这一点理解起来的确比较困难,翻译成代码?
就是int text(){return &text;}吗?
readmore
信号和槽。
信号类似于操作系统中的信号,它主要是在程序之间通讯或者线程之间通讯用的,也可以和系统通讯。说白了,就和操作系统的信号差不多,但实现方式可能有些不同。
槽是用于处理某个信号的实例,一般都是function。不知道class有没有。。。至少目前还没学到。
readmore
我是一个死板的人,从来都不喜欢接受新事物。准确的说,应该是大学以来就这样了。相比之前这样的情况截然不存在。
不能说懒惰,小时候我很喜欢接受新事物的。对新事物都很好奇。
随着年龄和阅历的增加,对新事物的兴趣越来越少,甚至到冷漠的地步。其中除了不冲动思考以外,还有很多“老师”的影响。
readmore
今天在看例子的时候出现这个错误:
error: ‘Qt_4_3’ is not a member of ‘QDataStream’
google以后发现,这个Qt_4_3来至于
enum QDataStream::Version
看到这里基本就明白了哈,其实这个错误是因为自己qt版本低于代码编写版本号的原因,我的是4.2.1,改成Qt_4_2后编译通过。具体出现什么问题我就不知道了,涉及到的网址
http://doc.trolltech.com/4.3/qdatastream.html#Version-enum
很喜欢Qt可以创建动态对话框,我也是刚刚初学。目前只是知道流程,具体怎么实现书上没有细讲,我看的也很郁闷。
不过估计在main入口写写代码就可以搞定了。
虽然vs下的mfc也支持类似的动作,但我并不喜欢。vs的ide的确很方便我去调试,但是不深入,也很少能找到正确的入门书。对于文件结构一点都不了解。所以虽然有个.rc,但基本不会去过多的例会这玩意。。。
现在这里记录一下Qt这一性能,等学到差不多了。再说了。
首先,的确我很佩服一些开源。不仅开放了源码,而且也把代码写的很条理性,不像某些闭源团体。
在初学Qt时,我发现和mfc很多都很相似。至于谁去抄袭谁就不得而知了。其实mfc我懂的也不多,也就是些最基础而且少量的内容,因为我不喜欢MS的东西。
Qt的信号和槽类似于mfc的消息。都是需要某个函数(宏)去联系实际功能函数。但Qt的这种机制更能让人接受些,mfc里面的消息机制理解起来让我容易头大。
readmore
Qt hello wrold!(点击看大图)
今天按照一个qt3的傻瓜教程,完成了hello world的编译工作。其中有很多的错误。原因我想,是因为他用了 -tp vc 的参数吧?
我是在Debian中编译的,所以没有了很过程,但是换来的就是麻烦的调试和错误修改。各有利弊了。。。真心希望linux下能有一款ide。这样调试就easy,尤其是找错就容易了。老看文本提示,头都看晕掉了。。。。
纪念一下。通过一个19寸宽屏输出的分辨率的结果!
正在看c++ primer。感觉下来class就是struct的升级版。
先看定义方式:
struct 类型名{}变量名;
class 类型名{public: or private: or protected}变量名;
readmore
string提供串复制。可以从char, char*,string中复制到string里。
但是在初始化的方面有一定结果的区别。
string abc=”abcdefg”;
char *abc1=”abcdefg”;
string abc2(abc,2);
string abc3(abc1,2);
第一个初始化结果为:c~g
第二个初始化结果为:ab
说明开始、结束点都不是同一个意义,仅此注意下。
下面是关于string新内容方面:
readmore
之前在看linux编程的时候,一直不理解”|”的真正含义。仅仅知道这是一个“或”的意思。
今天在看primer c++的时候,发现”|”本意就是“或”完之后将结果作为参数传递。
比如在shell中ps -e | grep “abc” 一样,首先执行ps -e 然后将列表用grep开始刷选。最后将结果作为参数传递给shell,由shell的标准输出给screen。
在c++中,if(a | b)中的|为按位或 而或完的结果不仅仅作为if的条件,也作为a,b的值.