皮皮网

【sync fsync 源码】【朔源码是】【职称网站源码】dos 3.3源码

来源:impala源码剖析 时间:2024-12-24 10:38:35

1.c++编译器的分类
2.dos发展历史
3.计算机操作系统都经历了什么版本?
4.sniffer状态
5.DOS状态是什么来的?

dos 3.3源码

c++编译器的分类

        Cygwin

       Mingw

       DJGPP

       Dev-C++(Mingw)

       è¿˜æœ‰æ­£å®—çš„GNU GCC 2..5~3.0.0.4版本

       GNU C++

       g++是一个开源的C++编译器,GCC3.3对标准化C++的支持达.%。

       å€¼å¾—一提的是,gcc是gnu c的编译器, g++是gnu c++的编译器, 而egcs(Enhanced GNU Compiler Suite)可以认为是gcc的改进版。目前gcc已经改名,从原来代表GNU C Compiler改变为代表GNU Compiler Collection。而MinGW或Cgywin,是在windows平台上的gnu c/c++编译器,以及库文件,运行环境的集合。

       åœ¨GCC家族中GNU GCC是根本,其它的编译器版本都是从它导出的。其中,Cygwin和Mingw都是WIN平台下的编译器,DJGPP是DOS下的位编译器。大家所熟知的DEV-C++充其量只是GCC的一个外壳,它所自带的编译器就是Mingw的一个版本。这些GCC的版本中,Cygwin是最大的,它与其说是一个编译器,倒不如说是一套编程工具。它不仅有编译器,还有其它很多的工具。其实,它就是一个UNIX系统在WIN平台上的实现。实现了大多常用的UNIX工具,最近的版本中连Apache这样的“工具”都集成进来的。不过,Cygwin虽然功能强大,但它却不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因为太多其它的工具分散了人们的注意力。相比之下Mingw就要好用得多,它只有最基本的几个编程工具(只可惜它不自带GDB)。GCC中并不只是C/C++编译器,其中还有很多其它的编译器如JAVA,Fortran,ADA等。它是一个编译器集合,不过有些编译器只能在UNIX系统上用。 MSC 5.0、6.0、7.0

       MSQC 1.0、2.5

       MSVC 1.0、4.2、6.0、7.0

       Visual C++

       VC++6.0对标准化C++的兼容仅达.%。

       å®ƒæ˜¯Visual Studio、Visual Studio.net 、Visual Studio.net 、Visual Studio.net 的后台C++编译器。随着Stanley Lippman等编译器设计大师的加盟,它变得非常成熟可靠了。Visual C++ 7.1对标准C++的兼容性达到.%。 TC 1.0、2.0

       TC++ 1.、3.0

       BC 3.0、3.1、4.0、4.5、5.0、5.

       BCB 3.0、5.0、6.0

       Borland C++

       è¯¥ç¼–译以速度快、空间效率高而著称。它的5.5版本对标准化C++的支持达.%,而官方称%符合ANSI/ISO的C++标准和C标准。

       å®ƒæ˜¯Borland公司开发的,是Borland C++ Builder和Borland C++ Builder X这两种IDE的后台编译器。 Intel C/C++ 5.0

       Watcom C/C++ .0、.0c

       VectorC 1.3.3

       IBM VisualAge for C++

       DigitalMars C/C++

       KAI C/C++ 4.f for RedHat 7.2

       Lcc4.1

       LCC-WIN --~--日版

       Small C

       CC

       Pacific C

       Intel C/C++大家一看名称就知道是Intel的东西,它和VC6完全兼容,不过要挂在VC6下才能用。Watcom C/C++是早先编译器四国大战中的一员,原本是很不错的东西,可惜战略不对,现在已不见声息了。倒是以它为基础的一个OpenWatcom现在还在奋战。VectorC是我近日才发现的一个好东东,它是个纯C的编译器。IBM的VisualAge for C++原本是IBM想用来淌C++编译器这片浑水的东西,不过IBM的战略改了,它就被放弃了。DigitalMars C/C++的前身的Symantec C++(它也是编译器四国大战中的一员),不过现在Symantec不做了,于是它的作者就把它改成了DigitalMars C/C++开放给大家使用。以上这些都是WIN平台上的东西。KAI C/C++是个很强大的C/C++编译器,它是个多平台的编译器。不过现在被INTEL收购了,已经停止开发了。Lcc4.1是个纯C的编译器它是开放源代码的。不过不怎么好用。LCC-WIN是一个在LCC基础上开发的C语言的集成开发环境,很好用,而且有很详细的资料,FREE!Pacific C是一个纯DOS的C的集成开发环境,就不多说了。Small C CC都是开放源代码的编译器,它们都很简单,应用来给大家学习编译器的。 Quincy

       Eic

       CINT

       Quincy Eic CINT都是C的解释器,是用来让大家学习C语言的其中CINT的功能很强大,还支持一些C++的特性。

dos发展历史

       1.DOS的发展简史

        DOS是年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统。

        后来DOS的概念也包括了其它公司生产的与MS-DOS兼容的系统,如PC-DOS 、DR-DOS, 以及一些其它相对不太出名的DOS兼容产品。它们在年到年及其后的一段时间内占据操作系统的统治地位,最著名和广泛使用的DOS系统从年直到年的年间微软在推出Windows 之后,宣布MS-DOS不再单独发布新版本。

        不过FreeDOS等与MS-DOS兼容的DOS则在继续发展着。虽然大多数用户将年最早发表的术语“PC”与IBM PC或PC兼容机等同看待, 但是实际上个人计算机在年已经开始使用。

        DOS是IBM PC及其兼容机用的操作系统。在DOS之前,一些微机为其操作系统使用内部BASIC编程语言,而另外一些使用Digital Research公司开发的CP/M操作系统(此公司提供了DR DOS)。

        Microsoft公司于年后开发了MS-DOS,当时,该公司为不同微机开发了像BASIC这类编程语言;年IBM正在设计最早的IBM PC并请Microsoft为其新型机开发多个编程语言。这次CP/M作为选择的操作系统并成为IBM新机种的操作系统。

       

        在Microsoft为IBM PC 设计语言的过程中,尽管Microsoft公司改进了IBM PC的语言设计和应用程序设计,但是他们认识到开发PC操作系统才是其努力方向。然而,由于没有足够的时间从零开始开发一个操作系统。

        为解决这个问题,Microsoft购买了一个用于处理器的操作系统-DOS,-DOS操作系统是西雅图电脑产品公司(Seattle puter Products)的一名岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编的,该操作系统与最早的IBM PC中的处理器非常相似。给每台IBM电脑安装一个DOS系统,微软就收取美金的商业运作模式,造就了微软的初期辉煌。

        发展历程随着电脑硬件的不断发展,从Windows 到Windows XP再到的Windows 7以及年发布的Windows 8中,MS-dos的核心依然存在,只是加上Windows当作系统的图形界面,直到纯 位版本的Windows系统(从Windows NT开始,其中就包含了 Windows 、Windows XP、Windows Vista、Windows 7和Windows 8)。由此可见dos的生命力极强。

        例如系统还原和安装都需要DOS,DOS用起来也很方便。DOS是个非常实用的操作系统,因此,它深深受到国内外人们的普遍喜爱,一直拥有数以亿计的用户。

        但是,自从年以来,Microsoft公司出于商业利益等方面的原因,决定抛弃手中的MS-DOS。当时,DOS已有许多种,除MS-DOS以外,还有PC-DOS,DR-DOS,FreeDOS等,但是由于受到Microsoft公司的挤压,故使用的人数不多,而大多数用户都在使用MS-DOS。

        由于Microsoft彻底放弃了MS-DOS,而转以开发Windows,引起了广大DOS使用者和爱好者的不满,而且,大家通常所使用的Windows 9x也只是DOS下的一个大型程序罢了,如果没有DOS的支持,它根本无法运行。但也由此可见DOS的功能其实是非常强大的,以及DOS软件拥有巨大的开发潜能,因为像Windows那样强大的DOS增强程序都可以编出来。

        比较Windows是一个多任务的操作环境,但它对程序编写的约束和限制比DOS高得多,因而许多程序员出于对Windows的不满及对DOS开发的价值和潜力的深刻认识,继续开发DOS软件。由于多年的经验的积累,他们的软件开发水平越来越高,因此他们开发出的DOS软件的质量也越来越高。

        为了开发更多的软件并且增加开发的效率,他们设计了一个又一个DOS软件的开发工具。而用这些开发工具的人也越来越多,并在国外迅速地流传开来,详情可见一篇叫作“DJGPP程序与保护模式”的文章(在“DOS文章”栏目中)。

        一个尤为重要的是,正如上文所提到,虽然MS-DOS已经不再继续发展了,但并不意味着整个DOS也不再继续发展了。MS-DOS的最高版本是8.0(包含在Windows ME中),随后Microsoft开始开发基于Windows NT构件的Windows,才成了真正独立的操作系统。

        除了MS-DOS以外,其它的DOS也在发展着。仍在不断发展和更新中的DOS有FreeDOS、PTS-DOS、ROM-DOS等,这些DOS的功能都十分强大,往往超过MS-DOS,而且FreeDOS还是完全免费且自由开放的。

        因此,程序员们完全可以为它们开发新的DOS软件,而不必依赖于MS-DOS。这大概是年代末DOS的情况。

        现状随后,一项叫作“开放源代码运动”的活动兴起了。很多程序员和使用者出于对Microsoft的Windows横行霸道的不满,离开了Windows阵营。

        取而代之的是兴起了对其它操作系统软件的开发,如DOS,Linux等。这一下设计和开发DOS软件的人迅速增加,并纷纷组成了开发团体,以开发新的DOS和其它非Windows的操作系统的软件,详情可见一篇叫作“DOS和Linux近年来的发展比较”的文章。

        由于开发者的增多,原先的DOS软件开发器也开始了进一步的更新,而且支持FAT和长文件名。再加上这次开发软件的有许多是程序员中的精英,所以开发出来的DOS软件的质量自然是今非昔比了。

        比如,由于Allegro等。

2.DOS的发展简史

        DOS是年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统。

        后来DOS的概念也包括了其它公司生产的与MS-DOS兼容的系统,如PC-DOS 、DR-DOS, 以及一些其它相对不太出名的DOS兼容产品。它们在年到年及其后的一段时间内占据操作系统的统治地位,最著名和广泛使用的DOS系统从年直到年的年间微软在推出Windows 之后,宣布MS-DOS不再单独发布新版本。

        不过FreeDOS等与MS-DOS兼容的DOS则在继续发展着。虽然大多数用户将年最早发表的术语“PC”与IBM PC或PC兼容机等同看待, 但是实际上个人计算机在年已经开始使用。

        DOS是IBM PC及其兼容机用的操作系统。在DOS之前,一些微机为其操作系统使用内部BASIC编程语言,而另外一些使用Digital Research公司开发的CP/M操作系统(此公司提供了DR DOS)。

        Microsoft公司于年后开发了MS-DOS,当时,该公司为不同微机开发了像BASIC这类编程语言;年IBM正在设计最早的IBM PC并请Microsoft为其新型机开发多个编程语言。这次CP/M作为选择的操作系统并成为IBM新机种的操作系统。

        在Microsoft为IBM PC 设计语言的过程中,尽管Microsoft公司改进了IBM PC的语言设计和应用程序设计,但是他们认识到开发PC操作系统才是其努力方向。然而,由于没有足够的时间从零开始开发一个操作系统。

        为解决这个问题,Microsoft购买了一个用于处理器的操作系统-DOS,-DOS操作系统是西雅图电脑产品公司(Seattle puter Products)的一名岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编的,该操作系统与最早的IBM PC中的处理器非常相似。给每台IBM电脑安装一个DOS系统,微软就收取美金的商业运作模式,造就了微软的初期辉煌。

        发展历程 随着电脑硬件的不断发展,从Windows 到Windows XP再到的Windows 7以及年发布的Windows 8中,MS-dos的核心依然存在,只是加上Windows当作系统的图形界面,直到纯 位版本的Windows系统(从Windows NT开始,其中就包含了 Windows 、Windows XP、Windows Vista、Windows 7和Windows 8)。由此可见dos的生命力极强。

        例如系统还原和安装都需要DOS,DOS用起来也很方便。DOS是个非常实用的操作系统,因此,它深深受到国内外人们的普遍喜爱,一直拥有数以亿计的用户。

        但是,自从年以来,Microsoft公司出于商业利益等方面的原因,决定抛弃手中的MS-DOS。当时,DOS已有许多种,除MS-DOS以外,还有PC-DOS,DR-DOS,FreeDOS等,但是由于受到Microsoft公司的挤压,故使用的人数不多,而大多数用户都在使用MS-DOS。

        由于Microsoft彻底放弃了MS-DOS,而转以开发Windows,引起了广大DOS使用者和爱好者的不满,而且,大家通常所使用的Windows 9x也只是DOS下的一个大型程序罢了,如果没有DOS的支持,它根本无法运行。但也由此可见DOS的功能其实是非常强大的,以及DOS软件拥有巨大的开发潜能,因为像Windows那样强大的DOS增强程序都可以编出来。

        比较 Windows是一个多任务的操作环境,但它对程序编写的约束和限制比DOS高得多,因而许多程序员出于对Windows的不满及对DOS开发的价值和潜力的深刻认识,继续开发DOS软件。由于多年的经验的积累,他们的软件开发水平越来越高,因此他们开发出的DOS软件的质量也越来越高。

        为了开发更多的软件并且增加开发的效率,他们设计了一个又一个DOS软件的开发工具。而用这些开发工具的人也越来越多,并在国外迅速地流传开来,详情可见一篇叫作“DJGPP程序与保护模式”的文章(在“DOS文章”栏目中)。

        一个尤为重要的是,正如上文所提到,虽然MS-DOS已经不再继续发展了,但并不意味着整个DOS也不再继续发展了。MS-DOS的最高版本是8.0(包含在Windows ME中),随后Microsoft开始开发基于Windows NT构件的Windows,才成了真正独立的操作系统。

        除了MS-DOS以外,其它的DOS也在发展着。仍在不断发展和更新中的DOS有FreeDOS、PTS-DOS、ROM-DOS等,这些DOS的功能都十分强大,往往超过MS-DOS,而且FreeDOS还是完全免费且自由开放的。

        因此,程序员们完全可以为它们开发新的DOS软件,而不必依赖于MS-DOS。这大概是年代末DOS的情况。

        现状 随后,一项叫作“开放源代码运动”的活动兴起了。很多程序员和使用者出于对Microsoft的Windows横行霸道的不满,离开了Windows阵营。

        取而代之的是兴起了对其它操作系统软件的开发,如DOS,Linux等。这一下设计和开发DOS软件的人迅速增加,并纷纷组成了开发团体,以开发新的DOS和其它非Windows的操作系统的软件,详情可见一篇叫作“DOS和Linux近年来的发展比较”的文章。

        由于开发者的增多,原先的DOS软件开发器也开始了进一步的更新,而且支持FAT和长文件名。再加上这次开发软件的有许多是程序员中的精英,所以开发出来的DOS软件的质量自然是今非昔比了。

        比如,由于Allegro等编程库的。

3.DOS命令和DOS发展的历史

        DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录 copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘 edit 文本编辑 mem 查看内存状况 md 建立子目录 move 移动文件、改目录名 more 分屏显示 type 显示文件内容 rd 删除目录 sys 制作DOS系统盘 ren 改变文件名 xcopy 拷贝目录与文件 chkdsk 检查磁盘 attrib 设置文件属性 fdisk 硬盘分区 date 显示及修改日期 label 设置卷标号 defrag 磁盘碎片整理 msd 系统检测 path 设置搜寻目录 share 文件共享 memmaker内存优化管理 help 帮助 restore 恢复备份文件 set 设置环境变量 time 显示及修改时间 tree 列目录树 debug 随机调试程序 doskey 重新调用DOS命令 prempt 设置提示符 undelete恢复被删的文件 scandisk检测、修理磁盘 不常用DOS命令 diskp磁盘比较 append 设置非执行文件路径 expand 还原DOS文件 fasthelp快速显示帮助信息 fc 文件比较 interink启动服务器 setver 设置版本 intersvr启动客户机 subst 路径替换 qbasic Basic集成环境 vsafe 防病毒 unformat恢复已格式化的磁盘 ver 显示DOS版本号 *** artdrv设置磁盘加速器 vol 显示磁盘卷标号 lh 将程序装入高端内存 ctty 改变控制设备 emm 扩展内存管理 常用命令具体介绍: 一、Dir 显示目录文件和子目录列表,呵呵,这个当然是人人要知道的。

        可以使用通配符(? 和 *),?表通配一个字符,*表通配任意字符 *.后缀 指定要查看后缀的文件。 上面其实也可以为“ . 后缀”,例如dir *.exe 等于dir .exe /p 每次显示一个列表屏幕。

        要查看下一屏,请按键盘上的任意键。 /w 以宽格式显示列表,在每一行上最多显示 5 个文件名或目录名。

        /s 列出指定目录及所有子目录中出现的每个指定的文件名。比win环境下的查找快多了 dir *.* -> a.txt 把当前目录文件列表写入a.txt dir *.* /s -> a.txt 把当前目录文件列表写入a.txt,包括子目录下文件。

        二、Attrib 显示、设置或删除指派给文件或目录的只读、存档、系统以及隐藏属性。如果在不含参数的情况下使用,则 attrib 会显示当前目录中所有文件的属性。

        +r 设置只读属性。 -r 清除只读属性。

        +a 设置存档文件属性。 -a 清除存档文件属性。

        +s 设置系统属性。 -s 清除系统属性。

        +h 设置隐藏属性。 -h 清除隐藏属性。

        三、Cls 清除显示在命令提示符窗口中的所有信息,并返回空窗口,即“清屏” 四、Exit 退出当前命令解释程序并返回到系统。 五、format 格式化 /q 执行快速格式化。

        删除以前已格式化卷的文件表和根目录,但不在扇区之间扫描损坏区域。使用 /q 命令行选项应该仅格式化以前已格式化的完好的卷。

        六、Ipconfig 显示所有当前的 TCP/IP 网络配置值、刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。使用不带参数的 ipconfig 可以显示所有适配器的 IP 地址、子网掩码、默认网关。

        /all 显示所有适配器的完整 TCP/IP 配置信息。 ipconfig 等价于 winipcfg,后者在ME、 和 上可用。

        尽管 Windows XP 没有提供象 winipcfg 命令一样的图形化界面,但可以使用“网络连接”查看和更新 IP 地址。要做到这一点,请打开 网络连接,右键单击某一网络连接,单击“状态”,然后单击“支持”选项卡。

        该命令最适用于配置为自动获取 IP 地址的计算机。它使用户可以确定哪些 TCP/IP 配置值是由 DHCP、自动专用 IP 地址 (APIPA) 和其他配置配置的。

        七、md 创建目录或子目录 八、Move 将一个或多个文件从一个目录移动到指定的目录。 九、Nbtstat 显示本地计算机和远程计算机的基于 TCP/IP (NetBT) 协议的 NetBIOS 统计资料、NetBIOS 名称表和 NetBIOS 名称缓存。

        Nbtstat 可以刷新 NetBIOS 名称缓存和注册的 Windows Inter 名称服务 (WINS) 名称。使用不带参数的 nbtstat 显示帮助。

        Nbtstat 命令行参数区分大小写。 -a remotename 显示远程计算机的 NetBIOS 名称表,其中,RemoteName 是远程计算机的 NetBIOS 计算机名称。

        -A IPAddress 显示远程计算机的 NetBIOS 名称表,其名称由远程计算机的 IP 地址指定(以小数点分隔)。 十、Netstat 显示活动的 TCP 连接、计算机侦听的端口、以太网统计信息、IP 路由表、IPv4 统计信息(对于 IP、ICMP、TCP 和 UDP 协议)以及 IPv6 统计信息(对于 IPv6、ICMPv6、通过 IPv6 的 TCP 以及通过 IPv6 的 UDP 协议)。

        使用时如果不带参数,stat 显示活动的 TCP 连接。 -a 显示所有活动的 TCP 连接以及计算机侦听的 TCP 和 UDP 端口。

        十一、Ping 通过发送“网际消息控制协议 (ICMP)”回响请求消息来验证与另一台 TCP/IP 计算机的 IP 级连接。回响应答消息的接收情况将和往返过程的次数一起显示出来。

        Ping 是用于检测网络连接性、可到达性和名称解析的疑难问题的主要 TCP/IP 命令。如果不带参数,ping 将显示帮助。

        名称和Ip地址解析是它的最简单应用也是用的最多的。 -t 指定在中断前 ping 可以持续发送回响请求信息到目的地。

        要中断并显示统计信息,请按 CTRL-BREAK。要中断并退出 ping,请按 CTRL-C。

        -lSize 指定发送的回响请求消息中“数据”字段的长度(以字节表示)。默认值为 。

        size 的最大值是 ,。 十二、。

4.DOS的发展历史,构成,基本功能和汉字处理

        DOS是Disk Operation System(磁盘操作系统)的简称,是~年的个人电脑上使用的一种主要的操作系统。由于早期的DOS系统是由为软公司为IBM的个人电脑开发的,称为MS-DOS,因此后来其他公司生产的与MS-DOS兼容的操作系统,也延用了这个称呼,如PC-DOS、DR-DOS等等。

        年,MS-DOS 1.0发行,作为IBM PC的操作系统进行捆绑发售,支持k内存及k的5寸软盘。在硬件昂贵,操作系统基本属于送硬件奉送的年代,谁也没能想到,微软公司竟会从这个不起眼的出处开始发迹。

        年,支持双面磁盘。

        å¹´MS-DOS 2.0随IBM XT发布,扩展了命令,并开始支持5M硬盘。同年发布的2.对2.0版进行了一些bug修正。

        年,MS-DOS 3.0增加了对新的IBM AT支持,并开始对部分局域网功能提供支持。

        年,MS-DOS 3.2 支持了K 的5寸软盘。

        年,MS-DOS 3.3 支持了IBM PS/2设备及1.M的3寸软盘,并支持其他语言的字符集。

        年,MS-DOS 4.0 增加了DOS Shell 操作环境,并且有一些其他增强功能及更新。

        年,MS-DOS 5.0发行,增加了DOS Shell功能,增强了内存管理和宏功能。

        年,MS-DOS 6.x 增加了很多GUI程序,如Scandisk、Defrag、M *** ackup等,增加了磁盘压缩功能,增强了对Windows 的支持。

        年,MS-DOS 7.0 增加了长文件名支持、LBA大硬盘支持。这个版本的DOS并不是独立发售的,而是在Windows 中内嵌的。之后的MS-DOS 7.1全面支持FAT分区、大硬盘、大内存支持等,对四位年份支持解决了千年虫问题。

        当年的DOS的确是一枝独秀,在x上鲜有竞争者。之后的windows 敲响了DOS的丧钟,那么是不是DOS就真的从此沉寂了呢?

        许多程序员出于对Windows的不满及对DOS开发的价值和潜力的深刻认识,继续开发DOS软件。由于在DOS时代的程序员大多都是些精通系统底层中断和汇编/C的高手,有着丰富的开发经验和编程功底,因此他们开发出的DOS软件的质量也相当高。为了开发更多的软件并且增加开发的效率,他们设计了一个又一个DOS软件的开发工具。虽然MS-DOS已经不再继续发展了,但并不意味着整个DOS也不再继续发展了。

        MS-DOS的最高版本是8.0(它可以用来运行Windows 9x或ME),随后Microsoft开始开发基于起源于OS/2的Windows NT构件的Windows,才成了独立的操作系统。而除了MS-DOS以外,其它的DOS也在发展着。仍在不断发展和更新中的DOS有FreeDOS、PTS-DOS、ROM-DOS等,这些DOS的功能都十分强大,往往超过MS-DOS,而且FreeDOS还是完全免费且自由开放(基于GNU GPL协议)的。因此,程序员们完全可以为它们开发新的DOS软件,而不必依赖于MS-DOS。

        DOS代表着什么?DOS代表着自由开放与发展。新的DOS时代的最大特点就是自由开放的发展,可以与其它操作系统,如Windows、Linux等其它系统应共同发展、共同促进,而各有自己存在的重要价值,这样才是最美好的。DOS有很多种,也有着强大生命力和发展潜力,例如基于GNU GPL协议的FreeDOS就代表着全新的DOS时代——自由开放的DOS时代的发展方向。

计算机操作系统都经历了什么版本?

       DOS的版本

       DOS在年推出其1.0版,功能还非常基本和薄弱;年推出2.0,主要增加了目录操作功能,使文件管理上了一个新台阶(目录和文件的概念我们将在讲解DOS内部命令时介绍);年推出3.0,主要支持1.2MB的5.英寸高密软盘(1.X和2.X只支持低密盘)和大容量硬盘;推出目前普及率最高的DOS 3.3,主要支持3.5英寸软盘和网络。sync fsync 源码至此,DOS已经发展的相当成熟,尽管后续版本(目前PC-DOS的最新版本为7.0版,MS-DOS公布的最新版本为6.)不断推出,但均无重大的内核改进,只不过增加了许多实用功能,如检测磁盘,清除病毒,硬盘增容等。

       DOS是Disk Operation System(磁盘操作系统) 的简称,是~年的个人电脑上使用的一种主要的操作系统。由于早期的DOS系统是由为软公司为IBM的个人电脑开发的,称为MS-DOS,因此后来其他公司生产的与MS-DOS兼容的操作系统,也延用了这个称呼,如PC-DOS、DR-DOS等等。

       年,MS-DOS 1.0发行,作为IBM PC的操作系统进行捆绑发售,支持k内存及k的5寸软盘。在硬件昂贵,操作系统基本属于送硬件奉送的年代,谁也没能想到,微软公司竟会从这个不起眼的出处开始发迹。

       年,支持双面磁盘。

       年MS-DOS 2.0随IBM XT发布,扩展了命令,并开始支持5M硬盘。同年发布的2.对2.0版进行了一些bug修正。

       年,MS-DOS 3.0增加了对新的IBM AT支持,并开始对部分局域网功能提供支持。

       年,MS-DOS 3.2 支持了K 的5寸软盘。

       年,MS-DOS 3.3 支持了IBM PS/2设备及1.M的3寸软盘,并支持其他语言的字符集。

       年,MS-DOS 4.0 增加了DOS Shell 操作环境,并且有一些其他增强功能及更新。

       年,MS-DOS 5.0发行,增加了DOS Shell功能,增强了内存管理和宏功能。

       年,MS-DOS 6.x 增加了很多GUI程序,如Scandisk、Defrag、Msbackup等,增加了磁盘压缩功能,增强了对Windows 的支持。

       年,MS-DOS 7.0 增加了长文件名支持、LBA大硬盘支持。这个版本的DOS并不是独立发售的,而是在Windows 中内嵌的。之后的MS-DOS 7.1全面支持FAT分区、大硬盘、大内存支持等,对四位年份支持解决了千年虫问题。

       WINDOWS发展简史

       作为世界上最流行的操作系统,Windows可不是从一开始就是这样的。Windows的进化过程经常是不确定和不稳定的。其成功是和处理器速度、内容容量等息息相关的,微软也非常依赖第三方的软件来填补概念和消费者之间的鸿沟。 随着Vista的发售,有必要通过截屏回顾一下年来,Windows操作系统所走过的路。 Windows 1.0 比尔·盖茨于年正式宣布推出Windows系统,但是微软的第一个图形用户界面操作系统Windows 1.0,却直到年月才放出,此时距离苹果推出Mac已经有两年之久了。由于涉及到和苹果的版权问题,此时的Windows系统还不能拥有例如重叠窗口和回收站的功能。Windows 1.0更多的朔源码是是一个MS-DOS的扩展,而不是一个单独的操作系统,不过已经能够支持有限的多任务和鼠标操作了。

       Windows 2.0 盖茨很快和苹果签订了授权协议,以便在Windows中使用Macintosh GUI的某些原素。不过随后,苹果将盖茨送上了法庭,称在新推出的Windows 2.0中,有处涉嫌抄袭。Windows 2.0提供了图标和层叠窗口的功能。 另外,Windows 2.0还得到了一些关键的程序支持。早期版本的Word和Excel使用Windows作为界面;当时流行的桌面发布程序Aldus PageMaker,一度只在Mac电脑上运行,同样也进驻了Windows 2.0,这对Windows来说是一个关键的事件,因为这极大的扩展了系统的实用性和市场份额。 此主题相关如下:

       Windows 3.0 这一版的Windows于年发布,可以说是一次彻头彻尾的改进。新的文件管理系统和增强的图形性能,终于使Windows PC变成了Mac的强劲对手,而这一过程花了六年的时间。操作系统拥有全新的外观,受保护的和增强的操作模式使得内存管理更为有效。Windows 3.0取得了巨大的成功,在两年的时间里销售了超过万的拷贝。开发人员开始编写大量的第三方软件,对于消费者购买来说是不小的刺激。大量的现金改变了微软的方向,使之更专注于操作系统的开发上。

       Windows 3. 主要就是Windows 3.0版的更新产品,Windows 3.支持包括TrueType可升级字体、多媒体、对象链接和嵌入等功能。一大堆在系统从3.0之后推出的升级补丁,也都集成进3.版之中。 此主题相关如下:

       Windows 3. NT 这是一个非常强大的Windows版本,是在消费版的3.上独立开发而来的,NT是专门为商业和工程师等需要非常成熟操作系统的用户而设计的。和3.版不一样的是,NT是专门为位处理器编写的。不幸的是,当时只有很少的硬件能够支持。开发人员不愿意费尽去让他们的产品兼容NT,因为这非常复杂,而且这一操作系统仅仅占据了很小的市场份额。 此主题相关如下

       Windows Windows 真正的将计算处理带到普通人的身边,让很多人从此走进了Windows和电脑的世界。由于捆绑了Internet Explorer,Windows 成为了浏览网页的常用入口。Windows 从此开始使用大家熟悉的开始按钮和任务栏,这种风格一直保持到今天。 Windows 也标志了微软和向下兼容之间永无止境的斗争,从3.开始的许多架构,当然也包括其中的设计失误,都延续到Windows 当中。而且一些部分运行在位模式,另一些则不,这样使得操作系统能够在过去和现在之间摇摆。很多用户都不知道这个问题,他们唯一清楚的就是系统非常的不稳定,而且总是要打升级补丁。 此主题相关如下:

       Windows 不仅仅是从Windows 稳定的升级到新的系统,Win 还支持多显示器显示,WebTV和采用新的FAT文件系统带来的更大的文件分割。Win 是一版将Internet Explorer集成进GUI的系统,引发了对微软垄断行为诉讼的热潮。 随后又放出了Windows Second Edition,增加了网络连接共享功能。此主题相关如下:

       Windows 这一版Windows推出的时间是年的2月,Win2K是Windows中NT系列的升级,这是第一个通过互联网进行自动升级的Windows版本。

       Windows XP 年推出的XP将NT架构,和从//ME上传承而来的用户界面,融合在一起。虽然仍然在安全性方面收到攻击,但是XP已经在很多地方获得了改善,包括文件管理、速度和稳定性。尤其是在GUI方面的明显改善,使得操作系统对于没什么经验的用户来说更为容易上手。 :

       Windows Vista 最后就是才推出的Vista,至于Vista会带来怎样的影响,现在还不好说。职称网站源码在XP六年之后推出的Vista,在GUI上游客非常明显的变化,而且还带来了很多的新特性,路走怎么,让时间来说话吧。

       Linux操作系统发展简史

        原文由 glnju 所发表

       在年代,Unix体系的源程序大多是可以任意流传的。互联网的基础协议TCP/IP就是产

       生于那个年代。在那个时期,人们在创作各自的"程序作品"中享受着从事科学探索、创新

       活动所特有的那种激情和成就感。那时的程序员,如同作家一样,急于"发表"自己的程序

       作品,并不专注于保守"机密",以换取钱财。

       年,AT&T宣布了Unix的商业化计划,随之出现了各种二进制的商业Unix版本。于

       是就兴起了基于二进制机读代码的"版权产业"(Copyright Industry),使软件业成为一种

       版权专有式的产业,围绕程序开发的那种创新活动被局限在某些骨干企业的小圈子里,源

       码程序视为核心"商业机密"。这种做法,一方面产生了大批的商业软件,极大的推动了软

       件业的发展,诞生了一批软件巨人;另一方面,由于封闭式的开发模式,也阻碍了软件业

       的进一步深化和提高。由此,人们为商业软件的"BUG"付出了巨大的代价。

       年,Richard Stallman面对程序开发的封闭模式,发起了一项国际性的源代码开

       放的所谓牛(GUN)计划,力图重返年代基于源码开放从事创作的美好时光。他为保护源

       代码开放的程序库不会再度受到商业性的封闭式利用,制定了一项GPL条款,称为Copylef

       t版权模式。

       年6月,R..Stallman完成了万行源代码开放的"编译器"(GNU gcc),获得了一

       项重大突破,做出了极大的贡献。

       年月,M.Tiemann以美元开始创业,创造了专注于经营开放源代码"Cygnus

       Support"(天鹅座支持公司)源代码开放计划。(注意,Cygnus中隐含着gnu三个字母)。

       Cygnus是世界上第一家也是最终获得成功的一家专营源代码程序的商业公司。Cygnus的"编

       译器"是最优秀的,它的客户有许多是一流的IT企业,包括世界上最大的微处理器公司。

       年月,Linus Torvalds写了个小程序,取名为Linux,放在互联网上。他表达了

       一个愿望,希望借此搞出一个操作系统的"内核"来。这完全是一个偶然事件。但是,在互

       联网上,Linux刚一"露头",便被广大的牛羚计划的追随者们看中,全部上阵,七手八脚,

       把它"加工"成了一个功能完备的操作系统,叫做CNULinux。

       年1月,Bob Young创办了RedHat(小红帽),以CNULinux为核心,集成了多个

       源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行

       版",在市场上出售。这在经营模上是一种创举。Bob Young称:我们从不想拥有自己的"版

       权专有"技术,我们卖的是"方便"(给用户提供支持、服务),而不是自己的"专有技术"。

       源代码开放程序包括各种品牌发行版的出现,极大的推动了Linux的普及和应用。

       年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到CNULinux体

       系的产业化道路的本质,并非是什么自由哲学,而是ossec源码分析市场竞争的驱动,创办了"Open Sour

       ce Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的

       Linux产业化运动。在IBM、Interl为首的一大批国际性重型IT企业对Linux产品及其经营模

       式的投资并提供全球性技术支持的大力推动下,催生了一个正在兴起的基于源代码开放模

       式的Linux产业,也有人称为开放源代码(OpenSource)现象。

       年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很

       多用于支持 桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能

       。

       年月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的

       变化。这些变化包括:1.更好地支持大型多处理器服务器,特别是采用NUMA设计的服务器

       ;2。更好地支持嵌入式设备,如手机、网络路由器或者视频录像机等;3.对鼠标和键盘指

       令等用户行为反应更加迅速;4.块设备驱动程序做了彻底更新,如与硬盘和CD光驱通信的

       软件模块。

       这不是一场新的技术革命(程序还是那些程序),这是一次回到正确路上的充满创新

       激情的"科学复兴"。

       在国际范围内Linux的开发,都超越国界经由互联网进行。通常,按照一定规律,每周

       发布一个Linux开发版,供全世界开发者参照。Linux开发版的序号的第二位为奇数,阶段

       性发布的序号第二位为偶数。Linux的各个发行版只能均与一定的序号相对应没有序号的发

       行版只能入另册。当今Linux的全部开发活动分布在各个国家,在互联网上由近位高手

       在日夜进行,总体协调人是LinusTorvalds。带有序列号的Linux发布权掌握在他手中。在

       法律上,指称这组代码集的Linux注册商标的版权归Linus本人所有。

       Linux体系发行版是由特定序列号的Linux(内核)及属于CNU体系源码开放的功能性支

       撑模块和一些运行于Linux上的商用软件所集成。发行版整体集成版权归相应的发行商所有

       。Linux发行版的发行商(称为Linux发行商)一般并不拥有其发行版中各软件模块的版权

       ,发行商关注的应该只是发行版的品牌价值,以含于其中的集成版的质量和相关特色服务

       进行市场竞争。严格讲来,Linux发行商并非必须一定是什么独立软件开商。它本质上属于

       一种新兴的IT行业。值得注意的是,任何发行版均必须含有一个标明特定序列号的完好的

       Linux稳定运行版本。在这里,版本序列号授予权属于Linus本人,代表以Linux为首的国际

       性开发团队的创造性智慧的结晶。任何Linux发行商在心中一定要牢牢记住这个站在Linux

       内核背后辛勤创作的开发团队。没有他们,就没有Linux。Linus与Linux开发团队永远联系

       在一起。经常不断的推出Linux发行版是各国Linux发行商应尽的责任,Linux发行商的经营

       活动是Linux在世界范围内的传播的主要途径之一。

       Linux 发展的重要里程碑

       年,Linus Torvalds 首次接触 MINIX

       年,Linus Torvalds 开始在 MINIX 上编写各种驱动程序等操作系统内核组件

       年,Linus Torvalds 公开了 Linux 内核

       年,Linux 1.0 版发行,Linux 转向 GPL 版权协议

       年,Linux 的第一个商业发行版 Slackware 问世

       年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.(由 Ope

       n Linux 公司打包)符合 POSIX 标准

       年,Linux 的简体中文发行版相继问世

       年,Linux2.4版内核发布

       年,Linux2.6版内核发布

sniffer状态

       sniffer是窃听的意思

       应该就是窃听状态

       sniffers(嗅探器)几乎和internet有一样久的历史了.Sniffer是一种常用的收集有用数据方法,这些数据可以是用户的帐号和密码,可以是一些商用机密数据等等。随着Internet及电子商务的日益普及,Internet的安全也越来越受到重视。在Internet安全隐患中扮演重要角色之一的Sniffer以受到越来越大的关注,所以今天我要向大家介绍一下介绍Sniffer以及如何阻止sniffer。

       大多数的黑客仅仅为了探测内部网上的主机并取得控制权,只有那些"雄心勃勃"的黑客,为了控制整个网络才会安装特洛伊木马和后门程序,并清除记录。他们经常使用的手法是安装sniffer。

        在内部网上,黑客要想迅速获得大量的账号(包括用户名和密码),最为有效的手段是使用 "sniffer" 程序。这种方法要求运行Sniffer 程序的日语app源码主机和被监听的主机必须在同一个以太网段上,故而在外部主机上运行sniffer是没有效果的。再者,必须以root的身份使用sniffer 程序,才能够监听到以太网段上的数据流。谈到以太网sniffer,就必须谈到以太网sniffing。

       那么什么是以太网sniffer呢?

       以太网sniffing是指对以太网设备上传送的数据包进行侦听,发现感兴趣的包。如果发现符合条件的包,就把它存到一个log文件中

       去。通常设置的这些条件是包含字"username"或"password"的包。它的目的是将网络层放到promiscuous模式,从而能干些事情。

       Promiscuous模式是指网络上的所有设备都对总线上传送的数据进行侦听,并不仅仅是它们自己的数据。根据第二章中有关对以太网的工作原理的基本介绍,可以知道:一个设备要向某一目标发送数据时,它是对以太网进行广播的。一个连到以太网总线上的设备在任何时间里都在接受数据。不过只是将属于自己的数据传给该计算机上的应用程序。

        利用这一点,可以将一台计算机的网络连接设置为接受所有以太

       网总线上的数据,从而实现sniffer。

        sniffer通常运行在路由器,或有路由器功能的主机上。这样就能对大量的数据进行监控。sniffer属第二层次的攻击。通常是攻击者已经进入了目标系统,然后使用sniffer这种攻击手段,以便得到更多的信息。

        sniffer除了能得到口令或用户名外,还能得到更多的其他信息,比如一个其他重要的信息,在网上传送的金融信息等等。sniffer几乎能得到任何以太网上的传送的数据包。黑客会使用各种方法,获得系统的控制权并留下再次侵入的后门,以保证sniffer能够执行。在Solaris 2.x平台上,sniffer 程序通常被安装在/usr/bin 或/dev目录下。黑客还会巧妙的修改时间,使得sniffer程序看上去是和其它系统程序同时安装的。

       大多数以太网sniffer程序在后台运行,将结果输出到某个记录文件中。黑客常常会修改ps程序,使得系统管理员很难发现运行的sniffer程序。

        以太网sniffer程序将系统的网络接口设定为混合模式。这样,它就可以监听到所有流经同一以太网网段的数据包,不管它的接受者或发送者是不是运行sniffer的主机。 程序将用户名、密码和其它黑客感兴趣的数据存入log文件。黑客会等待一段时间 ----- 比如一周后,再回到这里下载记录文件。

       讲了这么多,那么到底我们可以用什么通俗的话来介绍sniffer呢?

       计算机网络与电话电路不同,计算机网络是共享通讯通道的。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为sniffing(窃听)。

        以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为"混杂" 模式。

        由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输, 一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。

       一句话,sniffer就是一个用来窃听的黑客手段和工具。

       二、sniffer的工作原理

        通常在同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址。(代表所有的接口地址),在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:

        1、帧的目标区域具有和本地网络接口相匹配的硬件地址。

        2、帧的目标区域具有"广播地址"。

        在接受到上面两种情况的数据包时,nc通过cpu产生一个硬件中断,该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。

        而sniffer就是一种能将本地nc状态设成(promiscuous)状态的软件,当nc处于这种"混杂"方式时,该nc具备"广播地址",它对所有遭遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。(绝大多数的nc具备置成 promiscuous方式的能力)

        可见,sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。值得注意的是:sniffer是极其安静的,它是一种消极的安全攻击。

        通常sniffer所要关心的内容可以分成这样几类:

        1、口令

        我想这是绝大多数非法使用sniffer的理由,sniffer可以记录到明文传送的userid和passwd.就算你在网络传送过程中使用了加密的数据,sniffer记录的数据一样有可能使入侵者在家里边吃肉串边想办法算出你的算法。

        2、金融帐号

        许多用户很放心在网上使用自己的信用卡或现金帐号,然而sniffer可以很轻松截获在网上传送的用户姓名、口令、信用卡号码、截止日期、帐号和pin.

        3、偷窥机密或敏感的信息数据

        通过拦截数据包,入侵者可以很方便记录别人之间敏感的信息传送,或者干脆拦截整个的email会话过程。

        4、窥探低级的协议信息。

        这是很可怕的事,我认为,通过对底层的信息协议记录,比如记录两台主机之间的网络接口地址、远程网络接口ip地址、ip路由信息和tcp连接的字节顺序号码等。这些信息由非法入侵的人掌握后将对网络安全构成极大的危害,通常有人用sniffer收集这些信息只有一个原因:他正在进行一次欺诈,(通常的ip地址欺诈就要求你准确插入tcp连接的字节顺序号,这将在以后整理的文章中指出)如果某人很关心这个问题,那么sniffer对他来说只是前奏,今后的问题要大得多。(对于高级的hacker而言,我想这是使用sniffer的唯一理由吧)

       二.sniffer的工作环境

       snifffer就是能够捕获网络报文的设备。嗅探器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什么地方,此时就可以用嗅探器来作出精确的问题判断。

       嗅探器在功能和设计方面有很多不同。有些只能分析一种协议,而另一些可能能够分析几百种协议。一般情况下,大多数的嗅探器至少能够分析下面的协议:

       1.标准以太网

       2.TCP/IP

       3.IPX

       4.DECNet

       嗅探器通常是软硬件的结合。专用的嗅探器价格非常昂贵。另一方面,免费的嗅探器虽然不需要花什么钱,但得不到什么支持。

       嗅探器与一般的键盘捕获程序不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的——例如将以太网卡设置成杂收模式。(为了理解杂收模式是怎么回事,先解释局域网是怎么工作的)。

       数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前个字节存放的是源和目的的地址,这些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。

       帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。

       每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。

       在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。

       如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式,它(包括其软件)就是一个嗅探器。

       嗅探器可能造成的危害:

       1.嗅探器能够捕获口令

       2.能够捕获专用的或者机密的信息

       3.可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限

       事实上,如果你在网络上存在非授权的嗅探器就以为着你的系统已经暴露在别人面前了。(大家可以试试天行2的嗅探功能)

       一般我们只嗅探每个报文的前到个字节。用户名和口令都包含在这一部分中,这是我们关心的真正部分。工人,也可以嗅探给定接口上的所有报文,如果有足够的空间进行存储,有足够的那里进行处理的话,将会发现另一些非常有趣的东西……

       简单的放置一个嗅探器宾将其放到随便什么地方将不会起到什么作用。将嗅探器放置于被攻击机器或网络附近,这样将捕获到很多口令,还有一个比较好的方法就是放在网关上。如果这样的话就能捕获网络和其他网络进行身份鉴别的过程。这样的方式将成倍地增加我们能够攻击的范围。

       三.谁会使用sniffers

       可能谁都回知道谁会使用sniffer,但是并不是每个使用它的人都是网络高手,因为现在有很多的sniffer都成了傻瓜似的了,前段时间用的最多的不外乎oicq sniffer。我想那些喜欢查好友ip的朋友都应该记得它吧。呵呵,我都使用过它,现在当然不用了啊!

       当然系统管理员使用sniffer来分析网络信息交通并且找出网络上何处发生问题。一个安全管理员可以同时用多种sniffer, 将它们放置在网络的各处,形成一个入侵警报系统。对于系统管理员来说sniffer是一个非常好的工具,但是它同样是一个经常被黑客使用的工具.骇客安装sniffer以获得用户名和账号,信用卡号码,个人信息,和其他的信息可以导致对你或是你的公司的极大危害如果向坏的方面发展。当它们得到这些信息后,骇客将使用密码来进攻其他的internet 站点甚至倒卖信用卡号码。

       三.sniffer是如何在网络上实施的

       谈这个问题之前还应该先说一下Ethernet的通讯。通常在同一个网段的所有网络接口都有访问在媒体上传输的所有数据的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其它网络接口的硬件地址,同时,每个网络至少还要一个广播地址。在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧:

        1�帧的目标区域具有和本地网络接口相匹配的硬件地址。

        2�帧的目标区域具有“广播地址”。

        在接受到上面两种情况的数据包时,网卡通过cpu产生一个硬件中断。该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。而sniffer就是一种能将本地网卡状态设成杂乱模式(promiscuous Mode)的软件。当网卡处于杂乱模式时,该网卡具备“广播地址”,它对所有遇到的每一个帧都产生一个硬件中断以提醒操作系统处理每一个报文包。(绝大多数的网卡具备设置成杂乱模式的能力。

        可见,sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数据。通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。值得注意的是:sniffer是极其安静的,它是一种消极的安全攻击。

       四.哪里可以得到sniffer

       我们讲的sniffer,主要是在unix系统下运用的,至于那些oicq sniffer就不在我们讨论的范围。

       Sniffer是黑客们最常用的入侵手段之一。你可以在经过允许的网络中运行sniffer,了解它是如何有效地危及本地机器安全。

        Sniffer可以是硬件,也可以是软件。现在品种最多,应用最广的是软件Sniffer,绝大多数黑客们用的也是软件Sniffer。

        以下是一些也被广泛用于调试网络故障的sniffer工具:

        (一).商用sniffer:

        1. Network General.

        Network General开发了多种产品。最重要的是Expert Sniffer,它不仅仅可以sniff,还能够通过高性能的专门系统发送/接收数据包,帮助诊断故障。还有一个增强产品"Distrbuted Sniffer System"可以将UNIX工作站作为sniffer控制台,而将sniffer agents(代理)分布到远程主机上。

        2. Microsoft's Net Monitor

        对于某些商业站点,可能同时需要运行多种协议--NetBEUI、IPX/SPX、TCP/IP、.3和SNA等。这时很难找到一种sniffer帮助解决网络问题,因为许多sniffer往往将某些正确的协议数据包当成了错误数据包。Microsoft的Net Monitor(以前叫Bloodhound)可以解决这个难题。它能够正确区分诸如Netware控制数据包、NT NetBios名字服务广播等独特的数据包。(etherfind只会将这些数据包标识为类型的广播数据包。)这个工具运行在MS Windows 平台上。它甚至能够按MAC地址(或主机名)进行网络统计和会话信息监视。只需简单地单击某个会话即可获得tcpdump标准的输出。过滤器设置也是最为简单的,只要在一个对话框中单击需要监视的主机即可。

        (二).免费软件sniffer

        1. Sniffit由Lawrence Berkeley 实验室开发,运行于Solaris、SGI和Linux等平台。可以选择源、目标地址或地址集合,还可以选择监听的端口、协议和网络接口等。这个SNIFFER默认状态下只接受最先的个字节的信息包,这对于一次登陆会话进程刚刚好。

        2. SNORT:这个SNIFFER有很多选项供你使用并可移植性强,可以记录一些连接信息,用来跟踪一些网络活动。

        3. TCPDUMP:这个SNIFFER很有名,linux,FREEBSD还搭带在系统上,是一个被很多UNIX高手认为是一个专业的网络管理工具,记得以前TsutomuShimomura(应该叫下村侵吧)就是使用他自己修改过的TCPDUMP版本来记录了KEVINMITNICK攻击他系统的记录,后来就配合FBI抓住了KEVINMITNICK,后来他写了一文:使用这些LOG记录描述了那次的攻击,HowMitnickhackedTsutomuShimomurawithanIPsequenceattack

       ( /~lspitz/snoop.html

       (四).Linux下的sniffer工具

       Linux下的sniffer工具,我推荐Tcpdump。

       [1].tcpdump的安装

       在linux下tcpdump的安装十分简单,一般由两种安装方式。一种是以rpm包的形式来进行安装。另外一种是以源程序的形式安装。

        1. rpm包的形式安装

        这种形式的安装是最简单的安装方法,rpm包是将软件编译后打包成二进制的格式,通过rpm命令可以直接安装,不需要修改任何东西。以超级用户登录,使用命令如下:

        #rpm -ivh tcpdump-3_4a5.rpm

        这样tcpdump就顺利地安装到你的linux系统中。怎么样,很简单吧。

        2. 源程序的安装

        既然rpm包的安装很简单,为什么还要采用比较复杂的源程序安装呢?其实,linux一个最大的诱人之处就是在她上面有很多软件是提供源程序的,人们可以修改源程序来满足自己的特殊的需要。所以我特别建议朋友们都采取这种源程序的安装方法。

        · 第一步 取得源程序 在源程序的安装方式中,我们首先要取得tcpdump的源程序分发包,这种分发包有两种 形式,一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种 形式的内容都是一样的,不同的仅仅是压缩的方式.tar的压缩包可以使用如下命令解开:

        #tar xvfz tcpdump-3_4a5.tar.Z

        rpm的包可以使用如下命令安装:

        #rpm -ivh tcpdump-3_4a5.src.rpm

        这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下.

        · 第二步 做好编译源程序前的准备活动

        在编译源程序之前,最好已经确定库文件libpcap已经安装完毕,这个库文件是tcpdump软件所需的库文件。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。 在tcpdump的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST 和 MANDEST 这两个宏定义,缺省值是

        BINDEST = @sbindir @

        MANDEST = @mandir @

        第一个宏值表明安装tcpdump的二进制文件的路径名,第二个表明tcpdump的man 帮助页的路径名,你可以修改它们来满足系统的需求。

        · 第三步 编译源程序

        使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用.make 命令则根据Makefile文件中的规则编译tcpdump的源程序。使用make install命令安装编译好的tcpdump的二进制文件。

        总结一下就是:

        # tar xvfz tcpdump-3_4a5.tar.Z

        # vi Makefile.in

        # . /configure

        # make

        # make install

       [2].Tcpdump的使用

        tcpdump采用命令行方式,它的命令格式为:

        tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]

        [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]

        [ -T 类型 ] [ -w 文件名 ] [表达式 ]

        1. tcpdump的选项介绍

        -a 将网络地址和广播地址转变成名字;

        -d 将匹配信息包的代码以人们能够理解的汇编格式给出;

        -dd 将匹配信息包的代码以c语言程序段的格式给出;

        -ddd 将匹配信息包的代码以十进制的形式给出;

        -e 在输出行打印出数据链路层的头部信息;

        -f 将外部的Internet地址以数字的形式打印出来;

        -l 使标准输出变为缓冲行形式;

        -n 不把网络地址转换成名字;

        -t 在输出的每一行不打印时间戳;

        -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;

        -vv 输出详细的报文信息;

        -c 在收到指定的包的数目后,tcpdump就会停止;

        -F 从指定的文件中读取表达式,忽略其它的表达式;

        -i 指定监听的网络接口;

        -r 从指定的文件中读取包(这些包一般通过-w选项产生);

        -w 直接将包写入文件中,并不分析和打印出来;

        -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程 调用)和snmp(简单网络管理协议;)

        2. tcpdump的表达式介绍

        表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。

        在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,port, 例如 host ...2,指明 ...2是一台主机,net .0.0.0 指明 .0.0.0是一个网络地址,port 指明端口号是。如果没有指定类型,缺省的类型是host.

        第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src ...2 ,指明ip包中源地址是...2 , dst net .0.0.0 指明目的网络地址是.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。

        第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

        除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是'and','&&';或运算 是'or' ,'';

        这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。

        (1)想要截获所有...1 的主机收到的和发出的所有的数据包:

        #tcpdump host ...1

        (2) 想要截获主机...1 和主机...2 或...3的通信,使用命令:(在命令行中适用括号时,一定要

        #tcpdump host ...1 and \ (...2 or ...3 \)

        (3) 如果想要获取主机...1除了和主机...2之外所有主机通信的ip包,使用命令:

        #tcpdump ip host ...1 and ! ...2

        (4)如果想要获取主机...1接收或发出的telnet包,使用如下命令:

        #tcpdump tcp port host ...1

        3. tcpdump 的输出结果介绍

        下面我们介绍几种典型的tcpdump命令的输出信息

        (1) 数据链路层头信息

        使用命令#tcpdump --e host ice

        ice 是一台装有linux的主机,她的MAC地址是0::::AF:1A

        H是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:::5B:;上一条命令的输出结果如下所示:

       ::. eth0 < 8:0:::5b: 0::::af:1a ip : h. > ice.telne

       t 0:0(0) ack win (DF)

        分析:::是显示的时间, 是ID号,eth0 <表示从网络接口eth0 接受该数据包,eth0 >表示从网络接口设备发送数据包, 8:0:::5b:是主机H的MAC地址,它表明是从源地址H发来的数据包. 0::::af:1a是主机ICE的MAC地址,表示该数据包的目的地址是ICE . ip 是表明该数据包是IP数据包, 是数据包的长度, h. > ice.telnet 表明该数据包是从主机H的端口发往主机ICE的TELNET()端口. ack 表明对序列号是的包进行响应. win 表明发送窗口的大小是.

        (2) ARP包的TCPDUMP输出信息

        使用命令#tcpdump arp

        得到的输出结果是:

        ::. eth0 > arp who-has route tell ice (0::::af:1a)

        ::. eth0 < arp reply route is-at 0::::: (0::::af:1a)

        分析: ::是时间戳, 是ID号, eth0 >表明从主机发出该数据包, arp表明是ARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。 0::::af:1a是主机ICE的MAC地址。

        (3) TCP包的输出信息

        用TCPDUMP捕获的TCP包的一般输出信息是:

        src > dst: flags data-seqno ack window urgent options

        src > dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (FIN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针. Options是选项.

        (4) UDP包的输出信息

        用TCPDUMP捕获的UDP包的一般输出信息是:

        route.port1 > ice.port2: udp lenth

        UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP, 包的长度是lenth上面,我就详细介绍了TCPDUMP的安装和使用,希望会对大家有所帮助。如果想要熟练运用TCPDUMP这个LINUX环境下的SNIFFER利器,还需要大家在实践中总结经验,充分发挥它的威力。

       (五).windows平台上的sniffer

       我推荐netxray和sniffer pro软件,想必大家都用过他们,不过我在这儿还要再简单介绍一下他们。

       netxray的使用说明

       1.1.1.1----2.2.2.2----3.3.3.3----4.4.4.4 这是一个ShareHub连接下的局域网

       5.5.5.5 这是一个端口上的

       启动Capture,

DOS状态是什么来的?

       DOS发展历史和版本情况

        DOS是Disk Operation System(磁盘操作系统) 的简称,是~年的个人电脑上使用的一种主要的操作系统。由于早期的DOS系统是由为软公司为IBM的个人电脑开发的,称为MS-DOS,因此后来其他公司生产的与MS-DOS兼容的操作系统,也延用了这个称呼,如PC-DOS、DR-DOS等等。

        年,MS-DOS 1.0发行,作为IBM PC的操作系统进行捆绑发售,支持k内存及k的5寸软盘。在硬件昂贵,操作系统基本属于送硬件奉送的年代,谁也没能想到,微软公司竟会从这个不起眼的出处开始发迹。

        年,支持双面磁盘。

        年MS-DOS 2.0随IBM XT发布,扩展了命令,并开始支持5M硬盘。同年发布的2.对2.0版进行了一些bug修正。

        年,MS-DOS 3.0增加了对新的IBM AT支持,并开始对部分局域网功能提供支持。

        年,MS-DOS 3.2 支持了K 的5寸软盘。

        年,MS-DOS 3.3 支持了IBM PS/2设备及1.M的3寸软盘,并支持其他语言的字符集。

        年,MS-DOS 4.0 增加了DOS Shell 操作环境,并且有一些其他增强功能及更新。

        年,MS-DOS 5.0发行,增加了DOS Shell功能,增强了内存管理和宏功能。

        年,MS-DOS 6.x 增加了很多GUI程序,如Scandisk、Defrag、Msbackup等,增加了磁盘压缩功能,增强了对Windows 的支持。

        年,MS-DOS 7.0 增加了长文件名支持、LBA大硬盘支持。这个版本的DOS并不是独立发售的,而是在Windows 中内嵌的。之后的MS-DOS 7.1全面支持FAT分区、大硬盘、大内存支持等,对四位年份支持解决了千年虫问题。

        当年的DOS的确是一枝独秀,在x上鲜有竞争者。之后的windows 敲响了DOS的丧钟,那么是不是DOS就真的从此沉寂了呢?

        许多程序员出于对Windows的不满及对DOS开发的价值和潜力的深刻认识,继续开发DOS软件。由于在DOS时代的程序员大多都是些精通系统底层中断和汇编/C的高手,有着丰富的开发经验和编程功底,因此他们开发出的DOS软件的质量也相当高。为了开发更多的软件并且增加开发的效率,他们设计了一个又一个DOS软件的开发工具。虽然MS-DOS已经不再继续发展了,但并不意味着整个DOS也不再继续发展了。

        MS-DOS的最高版本是8.0(它可以用来运行Windows 9x或ME),随后Microsoft开始开发基于起源于OS/2的Windows NT构件的Windows,才成了独立的操作系统。而除了MS-DOS以外,其它的DOS也在发展着。仍在不断发展和更新中的DOS有FreeDOS、PTS-DOS、ROM-DOS等,这些DOS的功能都十分强大,往往超过MS-DOS,而且FreeDOS还是完全免费且自由开放(基于GNU GPL协议)的。因此,程序员们完全可以为它们开发新的DOS软件,而不必依赖于MS-DOS。

        随后,一项叫作“开放源代码运动”的活动兴起了。很多程序员和使用者出于对Microsoft的Windows横行霸道的不满,离开了Windows阵营。取而代之的是兴起了对其它操作系统软件的开发,如DOS,Linux等。这一下,设计和开发DOS软件的人迅速增加,并纷纷组成了开发团体,以开发新的DOS和其它非Windows的操作系统的软件。由于开发者的增多,原先的DOS软件开发器也开始了进一步的更新,而且支持FAT和长文件名。由于Allegro等编程库的出现,在DOS下实现MP3等音乐的播放对他们来说已是轻而易举的了。

        以这些软件为代表的DOS软件和原来的DOS软件,如DOSAMP,GDS Viewer等的质量相比有着本质的提高。现在流行的DJGPP程序已经实现了在LFN API存在的情况下对长文件名的完美支持。总之,这些新的DOS软件的整体水平的提高是很显著的。为了挑战Windows的界面,程序员们(经常是集体合作)开发了一个又一个仿Windows的界面增强程序,著名的有Seal,Qube,WinDOS等等。还有人开发出了内核为位的DOS操作系统,如FreeDOS ,事实证明,这些程序的编写水平是很高的。其他的对usb盘的驱动,网卡驱动,DVD-ROM支持等等更是不在话下。

       下面的例表简单介绍了后DOS时代的一些经典软件:

        系统增强:

        4DOS

        NewDOS

        Seal(图形界面)

        驱动相关:

        Cute Mouse(优秀的鼠标驱动)

        PTSATAPI(光驱驱动)

        Vide-CDD(CD-ROM/DVD-ROM光驱驱动)

        NE(兼容NE的网卡dos驱动)

        LSPPP(拨号程序)

        SDWRGMPD (游戏杆驱动程序)

        DUSE(USB存储设备驱动程序)

        NTFSDOS(DOS下NTFS驱动器)

        媒体软件:

        QuickView Pro (播放器)

        PictView (图形浏览)

        Pixel (图形编辑)

        杀毒软件:

        F-PORT

        Norton AntiVirus 4.0