Java多线程定时初探

此篇文章始于InterONet的多线程,因为需求中,有一个对象会定时poll另外一个对象,并且调用其方法,因此会涉及到一些定时器的问题。
output:
sleep(2000) version
 second Method
(2s...)
1230
first Method
1330

wait(2000) version
second Method
first Method
110
(2s...)
13530

其实,输出结果的差异在于,线程中调用java.lang.Thread.sleep方法,与调用this.wait()方法的区别。
对于java.lang.Thread.sleep方法是一个静态方法。
一个进程中执行了这个方法,则该进程立即进入timed wating状态。
对于this.wait()方法而言,其实则是继承了Obeject.wait()方法

我们知道Java中每个类extend Object. 因此,每个类中带有wait方法。
而Java在实现的时候,每个类都会有自己的对象锁,这个锁完全地锁住了这个对象。我们在一个类方法上面加上synchronized参数,就是说,如果想要调用这个类方法,首先必须获得这个对象锁。

回到代码中,我们看到,不管是sleep版本还是wait版本,都是首先执行了second Method。因此两个线程都获得了这个对象锁。然而,sleep的版本直接停了2秒再调用了first Method,而wait版本直接调用了firstMethod。因此,可以看出,调用wait()时,该线程释放了这个对象锁,而sleep()则没有释放这个对象锁。

贵系的UDP Flood

     始于贵校贵系网络常年遭受的UDP Flood。本以为此等问题很简单,可是数年来,竟无一人问津,网络中心也无法维护,贵系也没有一个人出面来解决下,无奈一下,怀着自己动手,丰衣足食的思想,俺开始了一个码农拯救世界的宏伟征途。233

UDP Flood分析

     经过可靠的推断,目前存在一台恶意机器接入楼层交换机,通过发送伪造ip-dst为本网段的IP,伪造MAC地址的方式发送flood攻击,此种攻击方式主要是利用了交换机固有弱点,故很难防御。因为MAC地址为伪造的MAC地址,因此,当如图所示的蓝色数据包到达交换机,发现没有这个MAC地址没有与之对应的转发端口,便直接向除源端口每个端口广播该数据包,直接造成流量被N倍放大,造成背板带宽直接crash。



解决方案:

     在没有交换机管理权限的情况下,做此等防御可谓难上加难,不过,通过伪造mac地址来欺骗交换机的方式倒是可以投机取巧一把。
     因为交换机没有一个MAC地址与原始攻击流量的MAC地址相对应,因此,只需一台机器告诉交换机说,那个攻击流量的MAC地址在我这里,请把所有流量给我,通过如上的方法,避免了交换机的flood,从而避免了攻击流量被N倍放大。

编码:

     本文中利用scapy进行上面的操作实践。

关于SDN的思考
     如果这个东西放在SDN的环境下,解决起来就非常简单。
      1) 每个host必须设置固定的ip,mac不允许其伪造ip,mac信息。 即作port-mac-ip的一对一绑定。当然,此处可以利用SDN的强大的可编程性,让这种绑定成为动态的绑定,即借助与第三方认证机制来动态绑定。这一点,就我目前的了解,传统交换机是难以做到的。

First Journey into Deep Web

     近日,著名的Tor网络据说新部署了Meek模式网桥,利用Amazon与Azure的资源进行流量混淆,着实给俺等网虫一个福音,前几日,下载好了Tor,进行了人生中第一次深网探索。

     先去Tor官网下载最新版的软件, 本文不再赘述。如图,点击上方图片中的红框处。解压缩后,点击Start Tor Browser.exe即可进入传说中的Tor网络。

     设置界面得说一下。
     首先点击Configure做一些设置,点击Next下一步。

 此处问你有没有用代理连接Internet,如果贵司没有设置诸如HTTP代理连接Baidu.com之类的网站,那就选择No。
      此处问你你的网络服务商(ISP),例如中国电信,联通,或者教育网有没有阻挡你对于Tor网络的链接,天朝的大家直接点“Yes”即可。
      此处,我选择了meek-amazon来进行连接,笔者此处的环境应该西北片区教育网。点击Connect,即可完成设置。

     再经历了漫长的等待之后,出现了如下的界面。
         点击红框处,可进行Tor网络测试。
     可以看到我目前的IP已经进行了伪装,不再是我本机的出口IP了。
     至此,应该可以进行Tor网站的浏览。
     Tor匿名网络的URL通常都比较特殊。通常是以.onion结尾,例如http://3g2upl4pq6kufc4m.onion/等。而且,针对于DeepWeb也没有特别有效的Search Engine,因此,在DeepWeb里面还保留着以往的YellowPage形式,而其中注明的则是Hidden wiki.
     本文最后推荐一个笔者经常去的站点,皮皮书屋。此站点可以下载到相当多的关于CS的书籍,关于此站的来源不再赘述,有兴趣的读者可自行Google。