sun 云计算入门指南
云计算在许多方面只是互联网的一个比喻词,亦即计算和数据资源
日益迁移到 Web 上的比喻词。不过,区别也是存在的:云计算代
表网络计算价值的一个新的临界点。它提供更高的效率、巨大的可
扩展性和更快、更容易的软件开发。其中心内容为新的编程模型、
新的 IT 基础设施以及实现新的商业模式。
Linux网络编程(linux串讲)
第一章概论 ..................................................................................................................1
1.1 网络的历史.......................................................................................................1
1.2 OSI 模型...........................................................................................................3
1.3 Internet 体系模型..............................................................................................4
1.4 客户/服务器模型...............................................................................................5
1.4 UNIX 的历史 ...................................................................................................7
1.4.1 Unix 诞生前的故事.................................................................................7
1.4.2 UNIX 的诞生..........................................................................................8
1.4.3 1979 – UNIX 第七版............................................................................. 10
1.4.4 UNIX 仅仅是历史吗?............................................................................. 11
1.5 Linux 的发展.................................................................................................. 11
1.5.1 Linux 的发展历史.................................................................................. 12
1.5.2 什么叫GNU? ...................................................................................... 12
1.5.3 Linux 的特色........................................................................................ 13
1.5.4 硬件需求............................................................................................... 14
1.5.5 Linux 可用的软件................................................................................. 14
1.5.6 为什么选择 Linux ? ............................................................................ 15
1.6 Linux 和 Unix 的发展.................................................................................... 15
第二章 UNIX/Linux 模型...............................................................................................17
2.1 UNIX/Linux 基本结构.......................................................................................17
2.2 输入和输出......................................................................................................19
2.2.1 UNIX/Linux 文件系统简介......................................................................19
2.2.2 流和标准I/O 库......................................................................................20
2.3 进程................................................................................................................21
第三章进程控制 ..........................................................................................................22
3.1 进程的建立与运行...........................................................................................22
linux内核阅读心得
读核感悟-Linux内核启动-内核的生成...........................................2
读核感悟-Linux内核启动-从hello world说起...................................3
读核感悟-Linux内核启动-BIOS.................................................5
读核感悟-Linux内核启动-setup辅助程序........................................6
读核感悟-Linux内核启动-内核解压缩...........................................8
读核感悟-Linux内核启动-开启页面映射.........................................9
读核感悟-Linux内核启动-链接脚本............................................11
读核感悟-伪装现场-系统调用参数.............................................13
读核感悟-伪装现场-fork()系统调用...........................................15
读核感悟-伪装现场-内核线程:...............................................17
读核感悟-伪装现场-信号通信.................................................19
读核感悟-kbuild系统-内核模块的编译.........................................22
读核感悟-kbuild系统-编译到内核和编译成模块的区别...........................24
读核感悟-kbuild系统-make bzImage的过程.....................................26
读核感悟-kbuild系统-make menuconfig........................................31
读核感悟-文件系统-用C来实现面向对象........................................32
读核感悟-设计模式-用C来实现虚函数表和多态..................................32
读核感悟-设计模式-用C来实现继承和模板......................................33
读核感悟-设计模式-文件系统和设备的继承和接口...............................34
读核感悟-设计模式-文件系统与抽象工厂.......................................36
读核感悟-阅读源代码技巧-查找定义...........................................37
读核感悟-阅读源代码技巧-变量命名规则.......................................42
读核感悟-内存管理-内核中的页表映射总结.....................................43
读核感悟-健壮的代码-exception table-内核中的刑事档案.......................44
读核感悟-定时器-巧妙的定时器算法...........................................45
读核感悟-内存管理-page fault处理流程.......................................45
读核感悟-文件读写-select实现原理...........................................47
读核感悟-文件读写-poll的实现原理...........................................49
1 功能介绍:.............................................................49
2 关键的结构体:.........................................................49
3 poll的实现.............................................................49
4 性能分析:.............................................................50
读核感悟-文件读写-epoll的实现原理..........................................50
1 功能介绍...............................................................50
2 关键结构体:...........................................................51
3 epoll_create的实现.....................................................53
4 epoll_ctl的实现........................................................53
5 epoll_wait的实现.......................................................54
6 性能分析...............................................................54
读核感悟-同步问题-同步问题概述.............................................55
1 同步问题的产生背景.....................................................55
2 内核态与用户态的区别...................................................55
读核感悟-同步问题-内核态自旋锁的实现.......................................56
1自旋锁的总述............................................................56
2非抢占式的自旋锁........................................................56
3 锁的释放...............................................................57
4 与用户态的自旋锁的比较.................................................57
5 总结...................................................................58
读核感悟-内存管理-free命令详解.............................................58
读核感悟-文件读写-2.6.9内核中的AIO.........................................59
1 AIO概述................................................................59
2 内核态AIO的使用.......................................................61
读核感悟-文件读写-内核态AIO相关结构体......................................61
1 内核态AIO操作相关信息.................................................61
2 AIO上下文:............................................................63
3 AIO ring...............................................................63
4 异步I/O事件的返回信息.................................................64
读核感悟-文件读写-内核态AIO创建和提交操作..................................65
1 AIO上下文的创建-io_setup().............................................65
2 AIO请求的提交:io_submit实现机制......................................66
读核感悟-文件操作-AIO操作的执行............................................66
1.在提交时执行AIO........................................................66
2.在工作队列中执行AIO....................................................66
3.负责AIO执行的核心函数aio_run_iocb.....................................67
4 AIO操作的完成..........................................................67
读核感悟-文件读写-内核态是否支持非direct I/O方式的AIO.....................67
Java命令参数说明大全
classname>]............................5
13. -da[:<packagename>...|:<classname>]........................................................5
14. -disableassertions[:<packagename>...|:<classname>]..........................5
15. -esa | -enablesystemassertions..................................................................6
16. -dsa | -disablesystemassertions................................................................6
17. -agentlib:<libname>[=<options>]................................................................6
18. -agentpath:<pathname>[=<options>]............................................................6
19. -javaagent:<jarpath>[=<options>]..............................................................6
三、扩展参数说明...........................................................................................................6
1. -Xmixed.................................................................................................................6
2. -Xint.....................................................................................................................7
3. -Xbootclasspath:path......................................................................................7
4. -Xbootclasspath/a:path..................................................................................7
5. -Xbootclasspath/p:path..................................................................................7
6. -Xnoclassgc.........................................................................................................7
7. -Xincgc.................................................................................................................7
8. -Xloggc:<file>...................................................................................................7
9. -Xbatch.................................................................................................................7
10. -Xms<size>...........................................................................................................7
11. -Xmx<size>...........................................................................................................7
12. -Xss<size>...........................................................................................................8
13. -Xprof...................................................................................................................8
14. -Xfuture...............................................................................................................8
15. -Xrs.......................................................................................................................8
16. -Xcheck:jni.........................................................................................................8
javascript面向对象编程(中文)
JavaScript 的演化是渐进而稳固的。历经过去十年的进程,JavaScript 在人们的认知里
已经从一门简单的玩物式的语言逐渐发展成为一门倍受推崇的编程语言,被全世界的公司和
开发者用来构造种种精彩的应用。现代JavaScript 编程语言一如既往地可靠、健壮,强大得
令人难以置信。在本书中我进行的许多论述,将揭示是什么使得现代JavaScript应用程序与
从前有着那么明显的不同。本章中出现的许多概念远不能算新奇,然而成千上万聪明的程序
员的认同促使它们的用途得以升华并最终形成今天的格局。既如此,我们这就来着眼现代
JavaScript 程序设计。
snort使用手册(linux)
libpcap所以很轻松不用再装了)
而WINDOWS更简单只要解包出来就可以了;
----------------------------------------------------------------------
参数介绍:
命令行是snort -[options]
选项:
; ; ; ;-A 设置模式是full,fast,还是none;full模式是记录
; ; ; ;标准alert模式到alert文件中;Fast模式只写入时间戳messages,
; ; ; ;IPs,ports到文件中None模式关闭报警
; ; ; ;-a ; ; ; ;是显示ARP包;
; ; ; ;-b ; ; ; ;是把LOG信息包记录为TCPDUMP格式所有信息包都被记录为
; ; ; ; ; ; ; ;两进制形式名字如snort-0612@1385.log这个选项对于FAST
; ; ; ; ; ; ; ;记录模式比较好它不需要花费包信息转化为文本时间
; ; ; ; ; ; ; ;Snort在100Mbps网络中使用"-b"比较好
; ; ; ;-c 使用配置文件,这个规则文件是告诉系统什么样信息要LOG
; ; ; ; ; ; ; ;或者要报警或者通过
; ; ; ;-C ; ; ; ;在信息包信息使用ASCII码来显示而不是hexdump
; ; ; ;-d ; ; ; ;解码应用层
; ; ; ;-D ; ; ; ;把snort以守护进程思路方法来运行默认情况下ALERT记录发送......
C 语言深度解剖--解开程序员面试笔试的秘密
前言
我遇到过很多程序员和计算机系毕业的学生,也给很多程序员和计算机系毕业的学生讲
解过《高级C 语言程序设计》。每期班开课前,我总会问学生:你感觉C 语言学得怎么样?
难吗?指针明白吗?数组呢?内存管理呢?往往学生回答说:感觉还可以,C 语言不难,指
针很明白,数组很简单,内存管理也不难。一般我会再问一个问题:通过这个班的学习,
你想达到什么程度?很多学生回答:精通C 语言。我告诉他们:我很无奈,也很无语。因
为我完全在和一群业余者或者是C 语言爱好者在对话。你们大学的计算机教育根本就是在
浪费你们的时间,念了几年大学,连C 语言的门都没摸着。现在大多数学校计算机系都开
了C、C++、Java、C#等等语言,好像什么都学了,但是什么都不会,更可悲的是有些大学
居然取消了C 语言课程,认为其过时了。我个人的观点是“十鸟在林,不如一鸟在手”,真
正把C 语言整明白了再学别的语言也很简单,如果C 语言都没整明白,别的语言学得再好
也是花架子,因为你并不了解底层是怎么回事。当然我也从来不认为一个没学过汇编的人
能真正掌握C 语言的真谛。我个人一直认为,普通人用C 语言在3 年之下,一般来说,还
没掌握C 语言;5 年之下,一般来说还没熟悉C 语言;10 年之下,谈不上精通。所以,我
告诉我的学生:听完我的课,远达不到精通的目标,熟悉也达不到,掌握也达不到。那能
达到什么目标?-----领你们进入C 语言的大门。入门之后的造化如何在于你们自己。不过我
可以告诉你们一条不是捷径的捷径:把一个键盘的F10 或F11 按坏,当然不能是垃圾键盘。
往往讲到这里,学生眼里总是透露着疑虑。C 语言有这么难吗?我的回答是:不难。但
你就是用不明白。学生说:以前大学老师讲C 语言,我学得很好。老师讲的都能听懂,考
试也很好。平时练习感觉自己还不错,工作也很轻松找到了。我告诉学生:听明白,看明
白不代表你懂了,你懂了不代表你会用了,你会用了不代表你能用明白,你能用明白不代
表你真正懂了!什么时候表明你真正懂了呢?你站在我这来,把问题给下面的同学讲明白,
学生都听明白了,说明你真正懂了。否则,你就没真正懂,这是检验懂没懂的唯一标准。
冰山大家都没见过,但总听过或是电影里看过吧?如果你连《泰坦尼克》都没看过,那你
也算个人物(开个玩笑)。《泰坦尼克》里的冰山给泰坦尼克造成了巨大的损失。你们都是
理工科的,应该明白冰山在水面上的部分只是总个冰山的1/8。我现在就告诉你们,C 语言
就是这座冰山。你们现在仅仅是摸到了水面上的部分,甚至根本不知道水面下的部分。我
希望通过我的讲解,让你们摸到水面下的部分,让你们知道C 语言到底是什么样子。
从现在开始,除非在特殊情况下,不允许用printf 这个函数。为什么呢?很多学生写完
代码,直接用printf 打印出来,发现结果不对。然后就举手问我:老师,我的结果为什么不
对啊?连调试的意识都没有!大多数学生根本就不会调试,不会看变量的值,内存的值。
只知道printf 出来结果不对,却不知道为什么不对,怎么解决。这种情况还算好的。往往很
多时候printf 出来的结果是对的,然后呢,学生也理所当然的认为程序没有问题。是这样吗?
往往不是,往后看,你能看到例子的。永远给我记住一点:结果对,并不代表程序真正没
有问题。所以,以后尽量不要用printf 函数,要去看变量的值,内存的值。当然,在我们目
前的编译器里,变量的值,内存的值对了就代表你程序没问题吗?也不是,往后,你也会
看到例子的......
BT3破解无线WEP和WPA增加版教程
配合专用无限网卡来破解wep和wpa
无线破解三要素
1. 无线网卡
a. 确认你的无线网卡是否支持破解.
无线网卡必须有合适的驱动能使他工作在监听模式下。这样破解软件aircrack才能很好的工作。
例如无线网卡支持windows下破解。windows下破解需要合适的软件使网卡能工作于监听模式。windows破解看中卫的帖子
http://www.wlanbbs.com/viewthread.php?tid=131&extra=page%3D6
或者无线网卡支持bt3下破解。bt3下支持的网卡列表。
http://www.wlanbbs.com/viewthread.php?tid=8&extra=page%3D1
网卡有监听模式不支持破解的原因一般是没有合适的驱动。你如果装上了合适的驱动这个网卡也就能进行破解了。
但不是所有的网卡的支持破解的,没有监听模式的网卡是没法进行破解工作的。
还有部分网卡虽然能支持破解。但不支持注入。所以这样的网卡只能被动破解。这样会很慢。凡是攻击都是需要注入的支持。
b. 无线网卡收发信号的能力。
如瑞银他接受能力强。(灵敏度高)如8187l的卡能调功率。(发射功率高)卡王是500毫瓦的小微波炉。
灵敏度高的卡接受信号的能力强上网稳定。发射功率大的卡攻击能力强。上网可能会差点。(因为自身功率大产生的电磁波会影响灵敏度)v4本身功率不大所以攻击上面不是很强(攻击包发多了会卡死)。灵敏度还算可以。
当然收发信号的能力弱的话可以加增益天线来弥补。知道为什么有这么多人在改造网卡做天线了吧。(要是能瑞银抓包,用8187l注入就好了 )
2. 被破解的AP
a. 加密方式
WEP加密。一般情况下WEP总是能被破解的。
WPA加密。一般情况下WEP总是不能被破解。
b. AP的及他信息
AP的MAC也就是BSSID。AP的SSID也就是ESSID。
合法客户端的MAC。离开AP的远近。AP的信号强度。
是否就有mac过滤,是否是隐藏SSID的,WEP是否是预共享方式。
AP的信号强度虽然高但是你离开AP远了。这也会影响破解。因为你离合法客户端远了。虽然你能接受到AP的信号。但是你无法接受到合法客户端发送给AP的信号。这样在你使用-3 arp攻击或者获取WPA的握手包时会给你带来困难(这也是很多时候虽然有合法客户端但-3攻击抓不到arp包的原因)。解决的方式还是提高你无线网卡收发信号的能力。或者你可以选择靠近AP和合法客户端。
3. 计算机及操作
a. 计算机配置要求
WEP破解:CPU III 667,MB 815,RAM 256m,VGA gf232m 这样配置的计算机上,使用bt3就能顺利完成WEP的破解工作。
WPA破解:上面的配置理论上也能进行WPA的破解。在基础条件满足的情况下,能成功获得握手包。也能进行字典攻击。但实际情况是WPA的字典攻击是极其耗费CPU时间的。所以如果在双核的计算机上2天能破解的密码。同样情况下四核心的计算机上1天就能破解。
所以2000年以后买的计算机一般都没有问题
b. 软件
目前我们的破解是居于windows/linux平台+windows/linux下支持无线网卡监听模式驱动+windows/linux下破解软件。
Windows优点兼容性好。缺点支持的网卡没有linux多。
Linux优点。支持的网卡比较多。在纯命令行模式下有极高的性能。缺点对中文支持不好。对于普通人有点陌生。
BT3的兼容性问题。BT3是slax linux+黑客工具包组成的一个系统。1.grub和计算机不兼容导致无法正常启动。这个可以用dos代替启动linux。2.Linux对有些设备不兼容导致启动的时候死机。如果遇到这样的问题可以使用光盘版或u盘的方式来解决。或者使用虚拟机。
或者使用其他linux,但是要装驱动和破解工具。或者换成windows。3.Xwindows和显卡不兼容。没有xwindows是不影响破解的。在纯命令行下也能破解。当然你也可以安装驱动等方法解决这个兼容性问题。
破解软件分成扫描AP软件。监听抓包的软件。分析破解密码的软件。主动攻击的软件。修改网卡参数的软件。Linux下我们一般使用的是aircrack软件包。
如果你的计算机没有兼容性问题的话。Bt3硬盘版的安装方式是最简单最绿色的。而且对网卡的支持最好。启动速度快。实际上远比你使用虚拟机方式。或者刻盘。U盘启动等方式简单易行。
c. 软件的操作
在linux破解平台主要是输入命令破解。你也可以使用spoonwep windforce airoway等傻瓜类自动破解工具。我建议你先看中卫的教程。这个教程十分的棒。已经帮助了很多新手上路了。包括我。这是最新版本的。破解和linux没有多少关系。你只要会操作破解的软件就能破解密码了。破解密码的工作远远比熟悉linux简单。
http://www.wlanbbs.com/viewthread.php?tid=23&extra=page%3D3
补充一下WEP破解。
-1攻击
* Perhaps MAC address filtering is enabled.
* Check that the BSSID (-a option) is correct.
* Try to change the number of packets (-o option).
* The driver/card doesn't support injection.
* This attack sometimes fails against some APs.
* The card is not on the same channel as the AP.
* You're too far from the AP. Get closer, or lower the transmit rate.
-1失败时候原因有以下几条。
ap有mac过滤
bssid不对
更改 -o的参数 (-1 中每次攻击包含的数据包的数量)
你的无线网卡不支持注入
有些时候对于有些ap攻击会失败
无线网卡工作的频道错了。不在ap工作的频道里。
离ap太远了。试试设置成较低的通讯速率或离ap近点。
对于有mac过滤。要把自己的网卡的mac改成合法客户端的mac否则再怎么攻击也是无效的。破解出密码。无法连接上也可能是mac过滤导致的。离ap太远可以通过设置较低的网卡速率来提高-1攻击的稳定性。对于WPA只有-0攻击是有效的。
-3攻击
上面已经提过。离合法客户端原使你没有获得arp包。方法只有提高你无线网卡收发信号的能力。或者你可以选择靠近合法客户端。
-2 -4 -5 攻击
这些攻击都是用于无客户端的WEP攻击的。这些攻击的原理都是通过收集两个相同的iv包然后伪造一个arp包最后进行发包攻击的。由于iv有24bit。有时你可能很容易就发现可以用来伪造arp包的数据了。(他read了2^24个包的话肯定会出现重复的了)直到他显示use this packet ? 就是找到可以用来伪造arp包的数据了。这时输入y他就伪造一个arp包了。但是如果这个arp包是个错包。会导致你即使获得了100万的data仍然无法破解出密码。
所以你遇到use this packet ?有时需要要输入n 放弃掉几个包。保证你伪造的arp有效。所以正确的arp包才能保证你破解出正确的密码。(关于-2攻击好几个人发贴问了)
破解之后你可能还是没法上网。这个可能是mac过滤。吧mac修改成和合法客户端相同的mac。DHCP+陌生网段 没有分配到有效的ip 这个你可以看中卫这个帖子。
http://www.wlanbbs.com/viewthread.php?tid=52&extra=page%3D2
还有http://www.wlanbbs.com/viewthread.php?tid=2122&extra=page%3D2
这里面还有窃取合法客户端网上帐号和密码的方法。连上ap没法上网还有可能是那个ap就没有上网,或ap是在一个内部网络里。
d. WPA
对于WPA只有-0攻击是有效的。很多人感到WEP的破解很成熟了,开始把精力放在WPA的破解上了。但是目前WPA的破解主要靠运气。而且即使你使用走鹃这样的超级电脑也未必能顺利破解。但是同样强度的密码在WEP上,你使用一般的设备却能很容易的被破解。造成这方面的原因是:密码体系被破解和数学家有密切关系。而WPA的加密体系目前没有数学上的漏洞可钻。所以WPA的真正瓶颈不是字典。我们实战中能破解出的WPA的密码都是弱密码。强密码破解出来的可能性比中头彩要小的多。
Linux 系统命令及其使用详解(大全)
cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 --show-nonprinting 范例: cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 名称:cd 使用权限:所有使用者 使用方式:cd [dirName] 说明:变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录).另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。 范例:跳到 /usr/bin/: cd /usr/bin 跳到自己的 home directory: cd ~ 跳到目前目录的上上两层: cd ../.. 指令名称:chmod
.....
java面试笔试题大汇总
JAVA相关基础知识
1、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
.....