源码AMI
⑴ 与信源代码中的 1 码绝对应的AMI码及HDB3码能否一定相反为什么
这个问题应该是“与信源代码中的‘1’码相对应的AMI码及HDB3码是否一定相同?为什么?”吧?!
不一定相同,因为它们的编码规律不一样。你可以举个例子验证一下就行了!
按照你的问题,答案就是:不一定相反,因为它们的编码规律不一样。
⑵ 谁能告诉告诉我啊
要这个做什么:
A
A:对象代码库文件
AAM:Authorwareshocked文件
AAS:Authorwareshocked包
ABF:Adobe二进制屏幕字体
ABK:CorelDRAW自动备份文件
ABS:该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE:Ace压缩档案格式
ACL:CorelDRAW6键盘快捷键文件
ACM:Windows系统目录文件
ACP:Microsoftoffice助手预览文件
ACR:美国放射医学大学文件格式
ACT:Microsoftoffice助手文件
ACV:OS/2的驱动程序,用于压缩或解压缩音频数据
AD:AfterDark屏幕保护程序
ADA:Ada源文件(非-GNAT)
ADB:Ada源文件主体(GNAT);HP100LX组织者的约定数据库
ADD:OS/2用于引导过程的适配器驱动程序
ADF:Amiga磁盘文件
ADI:AutoCAD设备无关二进制绘图仪格式
ADM:AfterDark多模块屏幕保护;WindowsNT策略模板
ADP:FaxWork用于传真调制解调器的交互安装文件;AstoundDynamite文件
ADR:AfterDark随机屏幕保护;SmartAddress的地址簿
ADS:Ada源文件说明书(GNAT)
AFM:Adobe的字体尺度
AF2,AF3:ABC的FlowChat文件
AI:AdobeIllustrator格式图形
AIF,AIFF:音频互交换文件,SiliconGraphicandMacintosh应用程序的声音格式
AIFC:压缩AIF
AIM:AOL即时信息传送
AIS:ACDSee图形序列文件;VelvetStudio设备文件
AKW:RoboHELP的帮助工程中所有A-关键词
ALAW:欧洲电话音频格式
ALB:JASCImageCommander相册
ALL:艺术与书信库
AMS:VelvetStudio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC:CanonComputer的调色板文件,包含一系列可选的颜色板
ANI:Windows系统中的动画光标
ANS:ANSI文本文件
ANT:SimAntForWindows中保存的游戏文件
API:AdobeAcrobat使用的应用程序设计接口文件
APR:LotusApproach97文件
APS:MicrosoftVisualC++文件
ARC:LHARC的压缩档案文件
ARI:Aristotle声音文件
ARJ:RobertJungARJ压缩包文件
ART:XaraStudio绘画文件;CanonCrayola美术文件;ClipArt文件格式;另一种光线跟踪格式;AOL使用的用Johnson—Grace压缩算法压缩的标记文件
ASA:MicrosoftVisualInterDev文件
ASC:ASCⅡ文本文件;PGP算法加密文件
ASD:MicrosoftWord的自动保存文件;Microsoft高级流媒体格式(,ASF)的描述文件;可用NSREX打开VelvetStudio例子文件
ASE:VelvetStudio采样文件
ASF:Microsoft高级流媒体格式文件
ASM:汇编语言源文件,Pro/E装配文件
ASO:AstoundDynamite对象文件
ASP:动态网页文件;ProCommPlus安装与连接脚本文件;Astound介绍文件
AST:Astound多媒体文件;ClarisWorks“助手”文件
ASV:DataCAD自动保存文件
ASX:Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,视频文件
ATT:AT<Group4位图文件
ATW:来自个人软件的AnyTimeDeluxeForWindows个人信息管理员文件
AU:Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式
AVB:ComputerAssociatesInoculan反病毒软件的病毒感染后文件
AVI:MicrosoftAudioVideoInterleave电影格式
AVR:AudioVisualResearch文件格式
AVS:应用程序可视化格式
AWD:FaxVien文档
AWR:Telsis数字储存音频文件扩展名格式
Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字)
A3L:Authorware3.x库文件
A4L:Authorware4.x库文件
A5L:Authorware5.x库文件
A3M,A4M:AuthorwareMacintosh未打包文件
A4P:Authorware无运行时间的打包文件
A3W,A4W,A5W:未打包的AuthorwareWindows文件
B
BAK:备份文件
BAS:BASIC源文件
BAT:批处理文件
BDF:WestPointBridgerDesigner文件
BFC:Windows95Briefcase文档
BG:BackgammonForWindows下的游戏文件
BGL:MicrosoftFlightSimulator(微软飞行模拟器)的视景文件
BI:二进制文件
BIF:GroupWise的初始化文件
BIFF:XLIFE3D格式文件
BIN:二进制文件
BK,BK
BKS:IBMBookManagerRead书架文件
BMK:书签文件
BMP:Windows或OS/2位图文件
BMI:ApogeeBioMenace数据文件
BOOK:AdobeFrameMakerBook文件
BOX:LotusNotes的邮箱文件
BPL:BorlardDelph4打包库
BQY:BrioQuery文件
BRX:用于查看多媒体对象目录的文件
BSC:MSDeveloperStudio浏览器信息文件
BSP:Quake图形文件
BS1:ApogeeBlakeStone数据文件
BS_:MicrosoftBookshelfFind菜单外壳扩展名
BTM:Norton应用程序使用的批处理文件
BUD:Quicken的备份磁盘
BUN:CakeWalk声音捆绑文件(一种MIDI程序)
BW:SGI黑白图像文件
BWV:商业波形文件
BYU:BYU的电影文件格式
B4:HelixNutsandBolts文件
C
C:C代码文件
C0l:台风波形文件
CAB:Microsoft压缩档案文件
CAD:Softdek的DrafixCAD文件
CAL:CALS压缩位图;日历计划表数据
CAM:Casio照相机格式
CAP:压缩音乐文件格式
CAS:逗号分开的ASCⅡ文件
CAT:Quicken使用的IntellCharge分类文件
CB:Microsoft干净引导文件
CBI:二进制卷格式文件(用于IBM大型机系统)
CC:VisualdBASE用户自定义类文件
CCA:cc:邮件文件
CCB:VisualBasic动态按钮配置文件
CCF:多媒体查看器配置文件,用于OS/2
CCH:Corel图表文件
CCM:Lotuscc:邮箱(例如“INBOX.CCM”)
CCO:CyberChat数据文件
CCT:MacromediaDirectorShockwave投影
CDA:CD音频轨道
CDF:Microsoft频道定义格式文件
CDI:Philip的高密盘交互格式
CDM:VisualdBASE自定义数据模块文件
CDR:CorelDRAW绘图文件;原始音频CD数据文件
CDT:CorelDRAW模板
CDX:CorelDRAW压缩绘图文件;MicrosoftVisualFoxPro索引文件
CEL:CIMFast事件语言文件
CER:证书文件(MIMEx-x509-ca-cert)
CFB:Compton的多媒文件
CFG:配置文件
CFM:CotdFusion模板文件;VisualdBASEWindows用户定制表单
CGI:公共网关接口脚本文件
CGM:计算机图形元文件
CH:OS/2配置文件
CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM:编译过的HTML文件
CHR:字符集(字体文件)
CHP:VenturaPublisher章节文件
CHT:ChartViem文件;HarvardGraphics矢量文件
CIF:AdaptecCD创建器CD映像文件
CIL:ClipGallery下载包
CIM:SimCity2000文件
CIN:OS/2改变控制文件用于跟踪INI文件中的变化
CK1:iD/ApogeeCommanderKeen1数据文件
CK2:iD/ApogeeCommanderKeen2数据文件
CK3:iD/ApogeeCommanderKeen3数据文件
CK4:iD/ApogeeCommanderKeen4数据文件
CK5:iD/ApogeeCommanderKeen5数据文件
CK6:iD/ApogeeCommanderKeen6数据文件
CLASS:java类文件
CLL:CrickSoftwareClicker文件
CLP:Windows剪贴板文件
CLS:VisualBasic类文件
CMD:WindowsNT,OS/2的命令文件;DOSCD/M命令文件;dBASEⅡ程序文件
CMF:Corel元文件
CMG:Chessmaster保存的游戏文件
CMP:JPEG位图文件;地址文档
CMV:CorelMove动画文件
CMX:CorelPresentationExchange图像
CNF:Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件
CNM:Windows应用程序菜单选项和安装文件
CNQ:CompuworksDesignShop文件
CNT:Windows(或其他)系统用于帮助索引或其他目的内容文件
COB:TrueSpace2对象文件
COD:MicrosoftC编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释
COM:命令文件(程序)
CPD:CorelPrintOffice文件(图形)
CPD,CPE传真覆盖文档
CPI:MicrosoftMS-DOS代码页信息文件
CPL:控制面板扩展名,Corel颜色板
CPO:Corel打印存储文件
CPP:C++代码文件
CPR:Corel提供说明书文件
CPT:Corel照片-绘画图像
CPX:CorelPresentationExchange压缩图形文件
CRD:WindowsCardfile文件
CRP:Corel提供的运行时介绍文件;VisualdBASE自定义报表文件
CRT:认证文件
CSC:Corel脚本文件
CSP:PCEmceeOn_Screen图像
CSS:瀑布式表格文件
CST:MacromediaDirectorCast文件
CSV:逗号分隔的值文件
CT:ScitexCT位图文件;PaintShopProGrapic编辑器文件
CTL:通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE:Microsoft提示牌数据文件
CUR:Windows光标文件
CUT:DrHalo位图文件
CV:Corel版本的档案文件;MicrosoftCodeView信息屏幕文件
CWK:ClarisWorks数据文件.
CWS:ClarisWorks模块
CXT:MacromediaDirector受保护的(不可编辑的)投影文件
CXX:C++源代码文件
D
DAT:数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB:Borland的Paradox7表
DBC:MicrosoftVisualFoxPro数据库容器文件
DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel97打开);Oracle8.1.x表格空间文件
DBX:DataBearn图像;MicrosoftVisualFoxPro表格文件
DCM:DCM模块格式文件
DCR:冲击波文件
DCS:桌面颜色分隔文件
DCT:MicrosoftVisualFoxPro数据库容器
DCU:Delphi编译单元文件
DCX:MicrosoftVisualFoxPro数据库容器;基于PCX的传真图像;宏
DC5:DataCAD绘图文件
DDF:Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据
DDIF:DigitalEquipment或Compaq格式,用于保存他们图像与字处理文档
DEF:SmartWareⅡ数据文件;C++模块定义文件
DEFI:Oracle7卸载脚本文件
DEM:用于表示数字高度模型的USGS基准的文件
DER:认证文件
DEWF:MacintoshSoundCap/SoundEdit录音设备格式
DGN:Macintosh95CAD绘图文件
DIB:设备无关位图
DIC:目录
DIF:可进行数据互换的电子表格
DIG:DigiLink格式;SoundDesignerⅠ音频文件
DIR:MacromediaDirector文件
DIZ:描述文件
DLG:C++对话框脚本文件
DLL:动态链接库
DLS:可下载声音文件
DMD:VisualdBASE数据模块文件
DMF:X-Trakker音乐模块(MOD)文件
DOC:FrameMaker或FrameBuilder文档;WordStar文档、WordPerfect文档、MicrosoftWord文档;DisplayWrite文档
DOT:MicrosoftWord文档模板
DPL:BorlandDelph3压缩库
DPR:BorlandDelphi工程头文件
DRAW:Acorn的基于对象的矢量图像文件
DRV:驱动程序
DRW:MicrografxDesigner/Draw;Pro/E绘画文件
DSF:MicrografxDesignerVFX文件
DSG:DOOM保存的文件
DSM:DynamicStudio音乐模块(MOD)文件
DSP:MicrosoftDeveloperStudio工程文件
DSQ:CorelQUERY(查询)文件
DST:刺绣机图形文件
DSW:MicrosoftDeveloperStudio工作区文件
DTA:WordBank(世界银行)的STARS数据文件
DTD:SGML文档类型定义(DTD)文件
DTED:地面高度数字数据(图形的数据格式)文件
DTF:SymantecQ&A相关的数据库数据文件
DTM:DigiTrakker模块文件
DUN:Microsoft拔号网络导出文件
DV:数字视频文件(MIME)
DWD:DiamondWare数字化文件
DWG:AutoCAD工程图文件;AutoCAD或GenericCADD老版本的绘图格式
DXF:可进行互交换的绘图文件格式,二进制的DWG格式的文本表示;数据交换文件
DXR:MacromediaDirector受保护(不可编辑)电影文件
D64:Commodore的64位模拟磁盘图像文件
E
EDA:EnsoniqASR磁盘映像
EDD:元素定义文档(FrameMaker+SGML文档)
EDE:EnsoniqEPS磁盘映像
EDK:EnsoniqKT磁盘映像
EDQ:EnsoniqSQ1/SQ2/Ks32磁盘映像
EDS:EnsoniqSQ80磁盘映像
EDV:EnsoniqVFX-SD磁盘映像
EFA:EnsoniqASR文件
EFE:EnsoniqEPS文件
EFK:EnsoniqKT文件
EFQ:EnsoniqSQ1/SQ2/Ks32文件
EFS:EnsoniqSQ80文件
EFV:EnsoniqVFX-SD文件
EMD:ABT扩展模块
EMF:Windows增强元文件
EML:MicrosoftOutlookExpress邮件消息(MIMERTC822)文件
ENC:重演文件
ENFF:中性文件格式扩展名
EPHTML:Perl解释增强HTML文件
EPS:压缩的PostScript图像
EPSF:压缩的PostScript文件
ERI:ERWin文件
ERR:当RobooHELP帮助编译器企图编译一个帮助系统源文件时用来存储错误消息的文件
EPX:ERWin文件
ESPS:ESPS音频文件
EUI:EnsoniqESP家族的压缩磁盘映像
EVY:特使文档
EWL:MicrosoftEncarta文档
EXC:MicrosoftWord禁止字字典
EXE:可执行文件(程序)
F
F:FORTRAN文件
F2R:Farandoyle线性模块格式
F3R:Farandoyle分块线性模块格式
F77:FORTRAN文件
F90:FORTRAN文件
FAR:FradoleComposer音乐模块(MOD)文件
FAV:MicrosoftOutlook导航条
FAX:传真类型图像
FBK:Navison金融备份
FCD:虚拟CD-ROM
FDB:Navison金融数据库
FDF:AdobeAcrobat表单文档文件
FEM:CADRE有限元素网络文件
FFA,FFL,FFO,FFK:Microsoft快速查找文件
FFF:GUSPnP银行文件格式
FFT:最终格式文本(IBM的DCA一部分)
FH3:AlsFreehand3绘图文件
FIF:Fractal图像文件
FIG:REND386/AVRIL使用的文件格式
FITS:CCD照相机图像;灵活图像传输系统
FLA:MacromediaFlash电影
FLC:AutodeskFLIC动画文件
FLF:CorelParadox产生的格式:NavisonFinancials许可文件;OS/2驱动程序文件
FLI:AutodeskFLIC动画
FLT:StarTrekker音乐模块(MOD)文件;MultiGenInc的OpenFlight使用的文件格式;Corel过滤器文件
FM:AdobeFrameMaker文档
FMB:Oracle4.0版或以后版本表单的二进制源代码文件
FML:文件镜象列表(GetRight)
FMT:Oracle4.0版或以后版本表单的文本格式;MicrosoftSchele+打印文件
FMX:Oracle4.0版或以后版本可执行表单
FND:MicrosoftExplorer保存的搜索文件(Findapplet)
FNG:字体组文件(字体导航器,FontNavigator)
FNK:FunkTracker模块格式
FOG:Fontographer模块字体
FON:系统字体
FOR:FORTRAN文件
FOT:字体相关文件
FP:FileMakerPro文件
FP1:FlyingPigsforWindows数据文件
FP3:FileMakerPro文件
FPT:FileMakerPro文件;MicrosoftFoxPro备注字体文件
FPX:FlashPix位图
FRM:表单;FrameMaker或FrameBuilder文档;Oracle可执行表(3.0版或早期版本);VisualBasic表单;WordPerfectMerge表单;DataCAD标志报表文件
FRT:MicrosoftFoxPro报表文件
FRX:VisualBasic表单文本;MicrosoftFoxPro报表文件
FSF:fPrintAuditTool文件格式
FSL:Borland的Paradox7表单;CorelParadox保存的表单
FSM:Parandoyle示例格式
FT:LotusNotes全文本索引
FTG:全文本搜索组文件,由Windows帮助系统查找时产生——可以删除,并在需要时重建起来
FTS:全文本搜索引文件,由Windows帮助系统查找时产生
FW2:FrameworkⅡ文件
FW3:FrameworkⅢ文件
FW4:FrameworkⅣ文件
FXP:经MicrosoftFoxPro编译的源文件
FZB:CasioFZ-1银行转储
FZF:CasioFZ-1完全转储
FZV:CasioFZ-1声音转储
G
G721:RawCCITTG.721
G723:RawCCITTG.7233或5bitADPCM格式数据
GAL:Corel多媒体管理器相集
GCD:GenericCADD绘画文件(后续版本)
GCP:GroundControlPoint(地面控制点)文件,用于远景数据形成图像过程,经常用于生成图工程—CHIPS()使用这些文件
GDB:InterBase数据库文件
GDM:铃声、口哨声和声音板模块格式
GED:GEDCOM系谱数据文件,用于记录和交换系谱数据的流行格式;图形环境文档绘画
GEM:GEM元文件
GEN:Ventura产生的文本文件
GetRight:GetRight未完成的下载文件
GFC:Patton&PattonFlowCharting4flowchart文件
GFI,GFX:Genigraphics图形链接表示文件
GHO:Norton克隆磁盘映像
GID:Windows95全局索引文件(包括帮助状态)
GIF:CompuServe位图文件
GIM,GIX:Genigraphics图形链接介绍文件
GKH:EnsoniqEPS家簇磁盘映像文件
GKS:GravisGripKey文档
GL:动画格式
GNA:Genigraphics图形链接介绍文件
GNT:生成代码,MicroFocus属性格式里的可执行代码
GNX:Genigraphics图形链接介绍文件
GRA:MicrosoftGraph文件
GRD:用于远程视景数据产生地图过程的格式文件,通常应用于形成地图工程—CHIPS()使用这些文件
GRF:Grapher(GoldenSoftware公司)图形文件
GRP:程序管理组
GSM:RawGSM6.10音频流;Raw“bytealigned(比特对齐的)”GSM6.10音频流;USRobotics语音调制解调器
GTK:Graoumftracker(老)音乐模块(MOD)文件
GT2:Graoumftracker(新)音乐模块(MOD)文件
GWX,GWZ:Cenigraphis图形链接介绍文件
GZ:UNIXgzip压缩文件
H
H:C程序头文件
HCM:IBMHCM配置文件
HCOM:声音工具HCOM格式
HCR:IBMHCD/HCM产品配置文件
HDF:高级计算机应用程序本地中心(NCSA)geospatialHierarchial数据格式文件
HED:HighEdit文档
HEL:MicrosoftHellbender格式保存的游戏文件
HEX:MacintoshBinHex2.0文件
HGL:HP图形语言绘图文件
HH:映射文件,包括一些话题ID和在帮助文件系统中话题的映射数字—允许运行中应用程序发送给用户合适的上下文帮助话题
HLP:帮助文件;DateCADWindows帮助文件
HOG:LucasArts的DarkForcesWAD文件
HPJ:VisualBasic帮助工程
HPP:C++程序头文件
HQX:MacintoshBinHex4.0文件
HST:历史文件
HT:HyperTerminal(超级终端)
HTM,HTML:超文本文档
HTT:Microsoft超文本模板
HTX:扩展HTML模板
HXM:Descent2HAM文件扩展
I
ICA:Citrix文件
ICB:Targa位图文件
ICC:Kodak打印机格式文件
ICL:图标库文件
ICM:图形颜色匹配配置文件
ICO:Windows图标
IDB:MSDev中间层文件
IDD:MIDI设备定义
IDF:MIDI设备定义(Windows95需要的文件)
IDQ:Internet数据查询文件
IDX:MicrosoftFoxPro相关数据库索引文件;SymantecQ&A相关数据库索引文件;MicrosoftOutlookExpress文件
IFF:交换格式文件;AmigaILBM
IGES:初始图形交换说明文件
IGF:插入系统元文件
IIF:QuickBooksforWindows交换文件
ILBM:位图图形文件
IMA:WinImage磁盘映像文件
IMG:GEM映像
IMZ:WinImage压缩磁盘映像文件
INC:汇编语言或动态服务器包含文件
INF:信息文件
INI:初始化文件;MWaveDSPSynth的“nwsynth.ini”GMS安装;CravisUltrasoundbank安装
INP:Oracle3.0版或早期版本的表单源代码
INRS:INRS远程通信声频
INS:InstallShield安装脚本;X-Internet签字文件;EnsoniqEPS字簇设备;Cell/ⅡMAC/PC抽样设备
INT:中间代码,当一个源程序经过语法检查后编译产生一个可执行代码
IOF:Findit文档
IQY:MicrosoftInternet查询文件
ISO:根据ISD9660有关CD-ROM文件系统标准列出CD-ROM上的文件
ISP:X-Internet签字文件
IST:数字跟踪设备文件
ISU:InstallShield卸装脚本
IT:脉冲跟踪系统音乐模块(MOD)文件
ITI:脉冲跟踪系统设备
ITS:脉冲跟踪系统抽样,Internet文档位置
IV:OpenInventor中使用的文件格式
IVD:超过20/20微观数据维数或变量等级文件
IVP:超过20/20的用户子集配置文件
IVT:超过20/20表或集合数据文件
IVX:超过20/20微数据目录文件
IW:Idlewild屏幕保护程序
IWC:InstallWatch文档
J
J62:Ricoh照相机格式
JAR:Java档案文件(一种用于applet和相关文件的压缩文件)
JAVA:Java源文件
JBF:PaintShopPro图像浏览文件
JFF,JFIF,JIF:JPEG文件
JMP:SAS的JMPDiscovery表格统计文件
JN1:EpicMegaGames的JilloftheJungle数据文件
JPE,JPEG,JPG:JPEG图形文件
JS:javascript源文件
JSP:HTML网页,其中包含有对一个Javaservlet的参考
JTF:JPEG位图文件
K
K25:Kurzweil2500抽样文件
KAR:卡拉OKMIDI文件(文本+MIDI)
KDC:Kodak光增强器
KEY:DataCAD图标工具条文件
KFX:KoFakGroup4图像文件
KIZ:Kodak数字明信片文件
KKW:RoboHELP帮助工程索引设计器中与主题无关的K开头的所有关键字
KMP:KorgTrinityKeyMap文件
KQP:Konica照相机本地文件
KR1:Kurzweil2000抽样(多软驱)文件
KRZ:Kurzweil2000抽样文件
KSF:KorgTrinity抽样文件
KYE:Kye游戏数据
L
LAB:VisualdBASE标签文件
LBM:DeluxePaint位图文件
LBT,LBX:MicrosoftFoxPro标签文件
LDB:MicrosoftAccess加锁文件
LDL:CorelParadox分发库
LEG:Legacy文档
LES:Logitech娱乐系统游戏配置文件(与REC文件一样)
LFT:3DStudio(DOS)放样文件
LGO:Paintbrush(Microsoft画图应用程序)的徽标文件
LHA:LZH更换文件后缀
LIB:库文件
LIN:DataCAD线型文件
LIS:结构化查询报告(SQR)程序产生的输出文件
LLX:Laplink交换代理
LNK:Windows快捷方式文件
LOG:日志文件
LPD:HelixNut和Bolt文件
LRC:Intel可视电话文件
LSL:CorelParadox保存的库文件
LSP:AutoLISP、CommonLISP和其他LISP语言文件
LST:列表文件
LU:ThoughtWing库单元文件
LVL:ParallaxSoftware的MinerDescent/D2Level扩展
LWLO:Lightwave分层对象文件
LWOB:Lightwave对象文件
LWP:LotusWordPro96/97文件
LWSC:Lightwave视景文件
LYR:DataCAD层文件
LZH:LHARC压缩档案
LZS:Skyroads数据文件
M
M1V:MPEG相关文件(MIME“mpeg”类型)
M3D:CorelMotion3D动画文件
M3U:MPEGURL(MIME声音文件)
MAC:MacPaint图像文件
MAD:MicrosoftAccess模块文件
MAF:MicrosoftAccess表单文件
MAG:在一些日本文件中发现的图形文件格式
MAGIC:魔力邮件监视器配置文件
MAK:VisualBasil或MicrosoftVisualC++工程文件
MAM:MicrosoftAccess宏
MAN:UNIX手册页输出
MAP:映射文件;DukeNukem3DWAD游戏文件
MAQ:MicrosoftAccess查询文件
MAR:MicrosoftAccess报表文件
MAS:文件
MAT:MicrosoftAccess表;3DStudioMAX材料库
MAUD:MAUD抽样格式
MAX:Kinetx的3DStudioMAX文件;该格式用于一个3D场景文件;Paperport文件;OrCAD设计文件
MAZ:Hover迷路数据;Division的dVS/dVISE使用的文件格式
MB1:ApogeeMonsterBash数据文件
MBOX:BerkeleyUnix邮箱格式
MBX:MicrosoftOutlook保存email格式;Eudora邮箱
MCC:Dailerl0呼叫卡
MCP:MetrowerksCodeWarrior工程文件
MCR:DataCAD键盘宏文件
MCW:MicrosoftWord的Macintosh文档
MDA:MicrosoftAccess内抽入器;MicrosoftAccess2.0版及其后续版本的工作组事件
MDB:MicrosoftAccess数据库
MDE:MicrosoftAccessMDE文件
MDL:数字跟踪器音乐模块(MOD)文件;Quake模块文件
MDN:MicrosoftAccess空数据库模板
MDW:MicrosoftAccess工作组文件
MDZ:MicrosoftAccess向导模板文件
MED:音乐编辑器,OctaMED音乐模块(MOD)文件
MER:电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别
MET:表示管理器元文件
MFG:Pro/ENGINEER制造文件
MGF:在材料与
⑶ 大家是如何给一个新病毒起名字的
病毒命名规则
我们的防病毒软件通常遵循业界通用的命名惯例来表示它检测和
清除的病毒。某些病毒名称偶尔也会有别于严格的业界标准。
如果某种新病毒具有一系列具体特征并表明它是一个全新品种,我
们会将它冠名为某某“系列”。病毒研究人员根据病毒的某些特点
或表现(例如文本串或有效负载影响)来确定这一系列的名称。
系列名称可以包括用来指定病毒字节大小的数值型字串。研究人员
使用这个名称可以方便地区别类似的病毒变种。
在病毒系列中,变种的名称由系列名称和后缀组成,例如
BadVirus.a。后缀按字母顺序排列,到 z 为止,然后再开始按 aa
形式排列,直到 az。再后来的病毒变种将使用后缀 ba 到 bz,
依次类推,直到 zz。如果以后又出现新的变种,则使用后缀 aaa。
随着新病毒变形的不断出现,业界的命名惯例也开始采用越来越多
的信息。例如,某些名称包括表示病毒运行平台的信息。
防病毒厂商采用的病毒名称可以包括前缀、中缀和后缀。
前缀
前缀指明病毒感染的文件类型或可能有害的软件运行的平台。感染
DOS 可执行文件的病毒没有前缀。我们的命名惯例包括下列前缀:
A97M/ 感染 Microsoft Access 97 文件的宏病毒。
APM/ 感染 Ami Pro 文档和模板文件的宏病毒或特洛
伊木马程序。
Bat/ 批处理文件病毒或特洛伊木马程序。这些病毒通常
作为批处理或脚本文件运行,可能会影响需要解释
脚本或批处理命令的某些程序。这些病毒流动性很
强,几乎能够影响可以运行批处理或脚本文件的所
有平台。这些文件本身通常使用 BAT 扩展名。
CSC/ 感染 Corel Draw 文档文件、模板文件和脚本
的 Corel Script 病毒或特洛伊木马程序。
IRC/ Internet Relay Chat 脚本病毒。这种病毒使
用早期版本的 mIRC 客户端软件分发病毒或有效
负载。
JS/ 用 JavaScript 语言编写的脚本病毒或特洛伊
木马程序。
JV/ 可能有害的 Java 应用程序或小程序。
Linux/以 ELF 文件格式编写的、作用于 Linux 操作
系统的病毒或特洛伊木马程序。
LWP/ 可能对 Lotus WordPro 有害的软件。
MacHC/作用于 Apple Macintosh HyperCard 脚本
语言的病毒或特洛伊木马程序。
MacOS/作用于 Apple Macintosh OS 6 至 9 的病毒
或特洛伊木马程序。
MSIL/ 用 Microsoft Intermediate Language 框
架(也称为 .NET)编写的应用程序。
P98M/ 感染 Microsoft Project 文档和模板的宏病
毒或特洛伊木马程序。
PalmOS/ 作用于 Palm Pilot 的病毒或特洛伊木马程序。
PDF/ 感染 Adobe PDF 文件的程序。
Perl/ 用 Perl 语言编写的脚本病毒或特洛伊木马程序。
php/ 用 PHP 语言编写的脚本病毒或特洛伊木马程序。
PP97M/宏病毒。感染 Microsoft PowerPoint 97 文件。
SunOS/可能对 Sun Solaris 有害的软件。
SWF/ 可能对 Shockwave 有害的软件。
Unix/ 作用于某个版本的 UNIX 的程序或 Shell 脚本。
V5M/ 感染 Visio VBA (Visual Basic for
Applications) 宏或脚本的宏或脚本病毒或特
洛伊木马程序。
VBS/ 用 Visual Basic Script 语言编写的脚本病
毒或特洛伊木马程序。
W16/ 在 16 位 Microsoft Windows 环境 (Windows
3.1x) 中运行的感染文件的病毒。
W2K/ 可能对 32 位 Microsoft Windows 环境(尤
其是 Windows NT、2000 或 XP)有害的软件。
W32/ 在 32 位 Microsoft Windows 环境(Windows
95、Windows 98 或 Windows NT)中运行的
感染文件或引导区的病毒。
W95/ 在 Microsoft Windows 95、Windows 98 和
Windows ME 环境中运行的感染文件的病毒。
W97M/ 感染 Microsoft Word 97 文件的宏病毒。
WHLP/ 可能对 32 位 Microsoft Windows 环境中
Windows HLP 文件有害的软件。
WM/ 感染 Microsoft Word 95 文件的宏病毒。
X97M/ 感染 Microsoft Excel 97 文件的宏病毒。
XF/ 通过 Excel 公式感染 Microsoft Excel 95 或
97 的宏病毒。
XM/ 感染 Microsoft Excel 95 文件的宏病毒。
特洛伊木马程序类的前缀
BackDoor- 这样的名称表示属于类似特洛伊木马程序的可能有害
软件。紧跟在类名称后的附加字符表示一个系列(例如
BackDoor-JZ)或一个名称(例如 BackDoor-Sub7)。
AdClicker-
重复访问广告赞助的网站。
Adware- 不经允许而安装广告软件。
BackDoor-
通过 Internet 或网络进行远程访问或控制。
Dialer-
不经允许而播打电话。
DDoS- 作为“分布式拒绝服务”组件运行。
Del- 删除文件。
Downloader-
从 Internet 下载软件,通常传送后门程序和密
码盗窃程序,有时也传送病毒。
Exploit- 利用某个薄弱环节或软件的某个缺陷。
FDoS- 表示“数据泛滥拒绝服务”组件。
KeyLog-
记录击键以立即或以后传送给攻击者。
Kit- 表示为制造病毒或特洛伊木马程序而设计的程序。
MultiDropper-
留下几个特洛伊木马程序或病毒(通常是几个不同
的“后门”)。
Nuke- 利用远程计算机上某个软件的缺陷将计算机关闭。
ProcKill-
终止防病毒和安全产品的进程,并可能删除与这些
应用程序相关联的文件。
PWS- 盗窃密码。
Reboot- 重新启动计算机。
Reg- 不加询问而以您不需要的方式修改注册表。例如,
降低安全设置或产生异常关联或设置。
Spam- 作为垃圾邮件发送工具运行。
Spyware- 监控浏览行为或其他行为并向外发送信息,通常是
未被请求的广告。
Uploader-
向外发送计算机中的文件或其他数据。
Vtool-表示病毒作者或黑客使用的软件开发程序。
Zap- 清空硬盘的部分或全部内容。
中缀
这些名称通常出现在病毒名称的中间。***ERT 指定的这些名称可
能与业界惯例不同。
.cmp. 被病毒添加到现有可执行文件中的伴随文件。我们
的防病毒软件会删除伴随文件以防止它们进一步
感染。
.mp. DOS 下的古董级多重分裂病毒。
.ow. 覆盖型病毒。表示会覆盖文件数据而且造成无法挽
回的损失的病毒。必须删除这个文件。
后缀
这些名称通常出现在病毒名称的最后。病毒名称可以有多个后缀。
例如,一个后缀可能表示病毒变种,而其他后缀负责提供附加信息。
@M 速度比较慢的邮件发送程序。这种病毒通过电子邮
件系统传播。它通常会立刻回复收到的邮件、将自
身附加在要发送的邮件中或者只发送到一个电子
邮件地址。
@MM 发送大量邮件。这种病毒不但能用标准技术自行传
播,也能通过电子邮件系统传播。
.a - .zzz
病毒变种。
根据 CARO(计算机防病毒研究组织)命名惯例,厂商可以采用以
! 字符开头的后缀。我们的软件使用下列后缀:
apd 附加的病毒。可以将其代码附加到文件中、但不能
正确复制的病毒。
bat 用 BAT 语言编写的软件组件。
cav 钻空病毒。这表示将自己复制到程序文件“空洞”
部分(例如全是零的区域)中的病毒。
cfg Internet 特洛伊木马程序(前缀通常为
BackDoor-)的配置组件。
cli Internet 特洛伊木马程序(前缀通常为
BackDoor-)的客户端组件。
dam 损坏的文件。因感染病毒而损坏或破坏的文件。
demo 执行可能有害的操作(例如如何利用安全隐患)的
程序。
dr 负责放置病毒的文件。这个文件负责将病毒引入到
宿主程序中。
gen 常规检测。我们的软件程序不使用特定的代码串即
可检测到这种病毒。
ini 当它是另一种病毒的一个组成部分时,是一个
mIRC 或 pIRCH 脚本。
intd “故意”的病毒。这种病毒具有普通病毒的大部分
特征,但不能正确复制。
irc 可能有害的软件的 IRC 组件。
js JavaScript 中的可能有害的软件组件。
kit 用“病毒设计工具”编写的病毒或特洛伊木马程序。
p2p 通过点对点通讯功能发挥作用的可能有害的软件。
例如 Gnutella 和 Kazaa。
sfx 特洛伊木马程序的自解压缩安装实用程序。
src 病毒源代码。它通常不能复制或感染文件,但负责
放置病毒的某些程序会将这些代码添加到文件中
从而使文件感染病毒。我们的产品通常会标记带有
这种附加代码的文件,以便将其删除。
sub 替代病毒。它会替代宿主文件,这样感染了病毒的
所有宿主都会具有同样的大小,而且变成真正的病
毒。(即覆盖型病毒的一个子类。)
svr Internet 特洛伊木马程序(前缀通常为
BackDoor)的服务器端组件。
vbs 用 Visual Basic Script 语言编写的可能有
害的软件组件。
worm 一种能够自我复制的非寄生性病毒,或是一种可以
通过将自身复制到远程计算机进行传播或以任何
文件传输方式(例如远程共享、点对点、即时通讯、
IRC 文件传输、FTP 以及 SMTP)在网络中传
播的病毒
⑷ 什么是电脑病毒啊
大哥,你早说呀.看看这些,欢迎访问我的博客,有更多安全信息.计算机病毒知识大全
提起计算机病毒,相信绝大多数用户都不会陌生(即使那些没有接触过计算机的人大多也听说过),有些用户甚至还对计算机病毒有着切肤之痛,不过要问起计算机病毒是如何产生的、病毒到底有些什么特征,能够回答生来的用户可能并不多。为此,本人特将有关计算机病毒的定义、起源、历史、特征、传播途径、分类、最新动态、错误认识、防毒原则、解决病毒的办法等内容汇集成文,希望能对广大用户日常的反病毒操作有所帮助:
一、病毒定义
计算机病毒使指那些具有自我复制能力的计算机程序,它能影响计算机软件、硬件的正常运行,破坏数据的正确与完整。
二、病毒起源
计算机病毒的来源多种多样,有的是计算机工作人员或业余爱好者为了纯粹寻开心而制造出来的,有的则是软件公司为保护自己的产品被非法拷贝而制造的报复性惩罚,因为他们发现病毒比加密对付非法拷贝更有效且更有威胁,这种情况助长了病毒的传播。还有一种情况就是蓄意破坏,它分为个人行为和政府行为两种。个人行为多为雇员对雇主的报复行为,而政府行为则是有组织的战略战术手段(据说在海湾战争中,美国防部一秘密机构曾对伊拉克的通讯系统进行了有计划的病毒攻击,一度使伊拉克的国防通讯陷于瘫痪)。另外有的病毒还是用于研究或实验而设计的"有用"程序,由于某种原因失去控制扩散出实验室或研究所,从而成为危害四方的计算机病毒。
三、病毒历史
病毒是如何一步步的从无到有、从小到大的发展到今天的地步的呢?下面的介绍可以解除你的这一疑问:
概念的提出 "计算机病毒"这一概念是1977年由美国着名科普作家"雷恩"在一部科幻小说《P1的青春》中提出
1983年 美国计算机安全专家"考因"首次通过实验证明了病毒的可实现性。
1987年 世界各地的计算机用户几乎同时发现了形形色色的计算机病毒,如大麻、IBM圣诞树、黑色星期五等等,面对计算机病毒的 突然袭击,众多计算机用户甚至专业人员都惊慌失措。
1989年 全世界的计算机病毒攻击十分猖獗,我国也为幸免。其中"米开朗基罗"病毒给许多计算机用户造成极大损失。
1991年 在"海湾战争"中,美军第一次将计算机病毒用于实战,在空袭巴格达的战斗中,成功地破坏了对方的指挥系统,使之瘫痪,保证了战斗的顺利进行,直至最后胜利。
1992年 出现针对杀毒软件的"幽灵"病毒,如One-half。
1996年 首次出现针对微软公司Office的"宏病毒"。
1997年 1997年被公认为计算机反病毒界的"宏病毒"年。"宏病毒"主要感染WORD、EXCEL等文件。如Word宏病毒,早期是用一种专门的Basic语言即WordBasic所编写的程序,后来使用Visual Basic。与其它计算机病毒一样,它能对用户系统中的可执行文件和数据文本类文件造成破坏。常见的如:Tw no.1(台湾一号)、Setmd、Consept、Mdma等。
1998年 出现针对Windows95/98系统的病毒,如CIH(1998年被公认为计算机反病毒界的CIH病毒年)。CIH病毒是继DOS病毒、Windows病毒、宏病毒后的第四类新型病毒。这种病毒与DOS下的传统病毒有很大不同,它使用面向Windows的VXD技术编制。1998年8月份从台湾传入国内,共有三个版本:1.2版/1.3版/1.4版,发作时间分别是4月26日/6月26日/每月26日。该病毒是第一个直接攻击、破坏硬件的计算机病毒,是迄今为止破坏最为严重的病毒。它主要感染Windows95/98的可执行程序,发作时破坏计算机Flash BIOS芯片中的系统程序,导致主板损坏,同时破坏硬盘中的数据。病毒发作时,硬盘驱动器不停旋转转,硬盘上所有数据(包括分区表)被破坏,必须重新FDISK方才有可能挽救硬盘;同时,对于部分厂牌的主板(如技嘉和微星等),会将Flash BIOS中的系统程序破坏,造成开机后系统无反应。
1999年 Happy99等完全通过Internet传播的病毒的出现标志着Internet病毒将成为病毒新的增长点。其特点就是利用Internet的优势,快速进行大规模的传播,从而使病毒在极短的时间内遍布全球。
四、病毒的特征
提起病毒,大家都很熟悉,可说到病毒到底有哪些特征,能有说出个所以然的用户却不多,许多用户甚至根本搞不清到底什么是病毒,这就严重影响了对病毒的防治工作。有鉴于此,特将常见病毒的特征简要介绍如下,希望广大用户能借以对病毒有一个较完善的灵性认识。
1. 传染性
传染性是病毒的基本特征。在生物界,通过传染病毒从一个生物体扩散到另一个生物体。在适当的条件下,它可得到大量繁殖,并使被感染的生物体表现出病症甚至死亡。同样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子上迅速扩散,其中的大量文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过网络接触,病毒会继续进行传染。
正常的计算机程序一般是不会将自身的代码强行连接到其它程序之上的。而病毒却能使自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可通过各种可能的渠道,如软盘、计算机网络去传染其它的计算机。当你在一台机器上发现了病毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器相联网的其它计算机也许也被该病毒侵染上了。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。
2. 未经授权而执行
一般正常的程序是由用户调用,再由系统分配资源,完成用户交给的任务。其目的对用户是可见的、透明的。而病毒具有正常程序的一切特性,它隐藏再正常程序中,当用户调用正常程序时窃取到系统的控制权,先于正常程序执行,病毒的动作、目的对用户时未知的,是未经用户允许的。
3. 隐蔽性
病毒一般是具有很高编程技巧、短小精悍的程序。通常附在正常程序中或磁盘较隐蔽的地方,也有个别的以隐含文件形式出现。目的是不让用户发现它的存在。如果不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。而且受到传染后,计算机系统通常仍能正常运行,使用户不会感到任何异常。试想,如果病毒在传染到计算机上之后,机器马上无法正常运行,那么它本身便无法继续进行传染了。正是由于隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散到上百万台计算机中。
大部分的病毒的代码之所以设计得非常短小,也是为了隐藏。病毒一般只有几百或1k字节,而PC机对DOS文件的存取速度可达每秒几百KB以上,所以病毒转瞬之间便可将这短短的几百字节附着到正常程序之中,使人非常不易被察觉。
4. 潜伏性
大部分的病毒感染系统之后一般不会马上发作,它可长期隐藏在系统中,只有在满足其特定条件时才启动其表现(破坏)模块。只有这样它才可进行广泛地传播。如"PETER-2"在每年2月27日会提三个问题,答错后会将硬盘加密。着名的"黑色星期五"在逢13号的星期五发作。国内的"上海一号"会在每年三、六、九月的13日发作。当然,最令人难忘的便是26日发作的CIH。这些病毒在平时会隐藏得很好,只有在发作日才会露出本来面目。
5. 破坏性
任何病毒只要侵入系统,都会对系统及应用程序产生程度不同的影响。轻者会降低计算机工作效率,占用系统资源,重者可导致系统崩溃。由此特性可将病毒分为良性病毒与恶性病毒。良性病度可能只显示些画面或出点音乐、无聊的语句,或者根本没有任何破坏动作,但会占用系统资源。这类病毒较多,如:GENP、小球、W-BOOT等。恶性病毒则有明确得目的,或破坏数据、删除文件或加密磁盘、格式化磁盘,有的对数据造成不可挽回的破坏。这也反映出病毒编制者的险恶用心(最着名的恐怕就是CIH病毒了)。
6. 不可预见性
从对病毒的检测方面来看,病毒还有不可预见性。不同种类的病毒,它们的代码千差万别,但有些操作是共有的(如驻内存,改中断)。有些人利用病毒的这种共性,制作了声称可查所有病毒的程序。这种程序的确可查出一些新病毒,但由于目前的软件种类极其丰富,且某些正常程序也使用了类似病毒的操作甚至借鉴了某些病毒的技术。使用这种方法对病毒进行检测势必会造成较多的误报情况。而且病毒的制作技术也在不断的提高,病毒对反病毒软件永远是超前的。
看了上面的介绍,你是不是对计算机病毒有了一个初步的了解?
五、病毒的传播途径
1. 通过不可移动的计算机硬件设备进行传播(即利用专用ASIC芯片和硬盘进行传播)。这种病毒虽然极少,但破坏力却极强,目前尚没有较好的检测手段对付。
2. 通过移动存储设备来传播(包括软盘、磁带等)。其中软盘是使用最广泛移动最频繁的存储介质,因此也成了计算机病毒寄生的"温床"。
3. 通过计算机网络进行传播。随着Internet的高速发展,计算机病毒也走上了高速传播之路,现在通过网络传播已经成为计算机病毒的第一传播途径。
4. 通过点对点通信系统和无线通道传播。
六、病毒的分类
各种不同种类的病毒有着各自不同的特征,它们有的以感染文件为主、有的以感染系统引导区为主、大多数病毒只是开个小小的玩笑、但少数病毒则危害极大(如臭名昭着CIH病毒),这就要求我们采用适当的方法对病毒进行分类,以进一步满足日常操作的需要:
1. 按传染方式分类
病毒按传染方式可分为引导型病毒、文件型病毒和混合型病毒三种。其中引导型病毒主要是感染磁盘的引导区,我们在使用受感染的磁盘(无论是软盘还是硬盘)启动计算机时它们就会首先取得系统控制权,驻留内存之后再引导系统,并伺机传染其它软盘或硬盘的引导区,它一般不对磁盘文件进行感染;文件型病毒一般只传染磁盘上的可执行文件(COM,EXE),在用户调用染毒的可执行文件时,病毒首先被运行,然后病毒驻留内存伺机传染其他文件或直接传染其他文件,其特点是附着于正常程序文件,成为程序文件的一个外壳或部件;混合型病毒则兼有以上两种病毒的特点,既染引导区又染文件,因此扩大了这种病毒的传染途径。
2. 按连接方式分类
病毒按连接方式分为源码型病毒、入侵型病毒、操作系统型病毒、外壳型病毒等四种。其中源码病毒主要攻击高级语言编写的源程序,它会将自己插入到系统的源程序中,并随源程序一起编译、连接成可执行文件,从而导致刚刚生成的可执行文件直接带毒,不过该病毒较为少见,亦难以编写;入侵型病毒则是那些用自身代替正常程序中的部分模块或堆栈区的病毒,它只攻击某些特定程序,针对性强,一般情况下也难以被发现,清除起来也较困难;操作系统病毒则是用其自身部分加入或替代操作系统的部分功能,危害性较大;外壳病毒主要是将自身附在正常程序的开头或结尾,相当于给正常程序加了个外壳,大部份的文件型病毒都属于这一类。
3. 按破坏性分类
病毒按破坏性可分为良性病毒和恶性病毒。顾名思义,良性病毒当然是指对系统的危害不太大的病毒,它一般只是作个小小的恶作剧罢了,如破坏屏幕显示、播放音乐等(需要注意的是,即使某些病毒不对系统造成任何直接损害,但它总会影响系统性能,从而造成了一定的间接危害);恶性病毒则是指那些对系统进行恶意攻击的病毒,它往往会给用户造成较大危害,如最近十分流行的CIH病毒就就属此类,它不仅删除用户的硬盘数据,而且还破坏硬件(主板),实可谓"十恶不赦"!
4. 按程序运行平台分类
病毒按程序运行平台分类可分为DOS病毒、Windows病毒、Windows NT病毒、OS/2病毒等,它们分别发作于DOS、Windows 9X、Windows NT、OS/2等操作系统平台上的病毒。
5. 新型病毒
部分新型病毒由于其独特性而暂时无法按照前面的类型进行分类,如宏病毒、黑客软件、电子邮件病毒等。
宏病毒主要是使用某个应用程序自带的宏编程语言编写的病毒,如感染WORD系统的WORD宏病毒、感染EXCEL系统的EXCEL宏病毒和感染Lotus Ami Pro的宏病毒等。宏病毒与以往的病毒有着截然不同的特点,如它感染数据文件,彻底改变了人们的"数据文件不会传播病毒"的错误认识;宏病毒冲破了以往病毒在单一平台上传播的局限,当WORD、EXCEL这类软件在不同平台(如WINDOWS、WINDOWS NT、OS/2和MACINTOSH等)上运行时,就可能会被宏病毒交叉感染;以往病毒是以二进制的计算机机器码形式出现,而宏病毒则是以人们容易阅读的源代码形式出现,所以编写和修改宏病毒比以往病毒更容易;另外宏病毒还具有容易传播、隐蔽性强、危害巨大等特点。最终来说,宏病毒应该算是一种特殊的文件型病毒,同时它应该也可以算是"按程序运行平台分类"中的一种特例。
黑客软件本身并不是一种病毒,它实质是一种通讯软件,而不少别有用心的人却利用它的独特特点来通过网络非法进入他人计算机系统,获取或篡改各种数据,危害信息安全。正是由于黑客软件直接威胁各个广大网民的数据安全,况且用户手工很难对其进行防范的独特特点,因此各大反病毒厂商纷纷将黑客软件纳入病毒范围,利用杀毒软件将黑客从用户的计算机中驱逐出境,从而保护了用户的网络安全。
电子邮件病毒实际上并不是一类单独的病毒,它严格来说应该划入到文件型病毒及宏病毒中去,只不过由于这些病毒采用了独特的电子邮件传播方式(其中不少种类还专门针对电子邮件的传播方式进行了优化),因此我们习惯于将它们定义为电子邮件病毒。
七、最新动态
近一段时间以来,计算机病毒不但没有象人们想象的那样随着Internet的流行而趋于消亡,而是进一步的爆发流行,如CIH、Happy99等,它们与以往的病毒相比具有一些新的特点,如传染性、隐蔽性、破坏性等,给广大计算机用户带来了极大的经济损失。为方便用户的使用,现将计算机病毒的最新动态向大家做一个简要介绍:
多形性病毒 多形性病毒又名"幽灵"病毒,是指采用特殊加密技术编写的病毒,这种病毒在每感染一个对象时采用随机方法对病毒主体进行加密,因而完全多形性病毒的主要不同样本中甚至不存在连续两个相同的字节。这种病毒主要是针对查毒软件而设计的,所以使得查毒软件的编写更困难,并且还会带来许多误报。
轻微破坏病毒 文件备份是人们用于对抗病毒的一种常用的方法,轻微破坏病毒就是针对备份而设计的。它每次只破坏一点点数据,用户难以察觉,这就导致用户每次备份的数据均是已被破坏的内容。当用户发觉到数据被彻底破坏时,可能所有备份中的数据均是被破坏的,这时的损失是难以估计的。
宏病毒 宏病毒是使用某种应用程序自带的宏编程语言编写的病毒,目前国际上已发现五类:Word宏病毒、Excel宏病毒、Access宏病毒、Ami Pro宏病毒、Word Perfect宏病毒。其中Word宏病毒最多,流行最范围最广,96年下半年开始在我国出现,97年在全国各地广泛流行,成为目前最主要的病毒,如Tw No.1(台湾一号)、Concept(概念)、SetMd、Cap、MdMa(无政府一号)等。
病毒生成工具 病毒生成工具通常是以菜单形式驱动,只要是具备一点计算机知识的人,利用病毒生成工具就可以象点菜一样轻易地制造出计算机病毒,而且可以设计出非常复杂的具有偷盗和多形性特征的病毒。如:G2、VCL、MTE、TPE等。
黑客软件 黑客软件本身并不是一种病毒,它实际上是一种通讯软件,而不少别有用心的人却利用它的独特特点来通过网络非法进入他人计算机系统,获取或篡改各种数据,危害信息安全。正是由于黑客软件直接威胁各个广大网民的数据安全,况且用户手工很难对其进行防范,因此各大反病毒厂商纷纷将黑客软件纳入病毒范围,利用杀毒软件将黑客从用户的计算机中驱逐出境(黑客软件对既没有上Internet、又没有连局域网纯粹的单机没有危害)。
电子邮件病毒 电子邮件病毒实际上并不是一类单独的病毒,它严格来说应该划入到文件型病毒及宏病毒中去,只不过由于这些病毒采用了独特的电子邮件传播方式(其中不少种类还专门针对电子邮件的传播方式进行了优化,如前一段时间曾爆发流行的Happy99),因此我们习惯于将它们定义为电子邮件病毒。
八、病毒的破坏行为
不同病毒有不同的破坏行为,其中有代表性的行为如下:
攻击系统数据区 即攻击计算机硬盘的主引寻扇区、Boot扇区、FAT表、文件目录等内容(一般来说,攻击系统数据区的病毒是恶性病毒,受损的数据不易恢复)。
攻击文件 是删除文件、修改文件名称、替换文件内容、删除部分程序代码等等。
攻击内存 内存是计算机的重要资源,也是病毒的攻击目标。其攻击方式主要有占用大量内存、改变内存总量、禁止分配内存等。
干扰系统运行 不执行用户指令、干扰指令的运行、内部栈溢出、占用特殊数据区、时钟倒转、自动重新启动计算机、死机等。
速度下降 不少病毒在时钟中纳入了时间的循环计数,迫使计算机空转,计算机速度明显下降。
攻击磁盘 攻击磁盘数据、不写盘、写操作变读操作、写盘时丢字节等。
扰乱屏幕显示 字符显示错乱、跌落、环绕、倒置、光标下跌、滚屏、抖动、吃字符等。
攻击键盘 响铃、封锁键盘、换字、抹掉缓存区字符、重复输入。
攻击喇叭 发出各种不同的声音,如演奏曲子、警笛声、炸弹噪声、鸣叫、咔咔声、嘀嗒声
攻击CMOS 对CMOS区进行写入动作,破坏系统CMOS中的数据。
干扰打印机 间断性打印、更换字符等。
九、防毒原则
1. 不使用盗版或来历不明的软件,特别不能使用盗版的杀毒软件。
2. 写保护所有系统盘,绝不把用户数据写到系统盘上。
3. 安装真正有效的防毒软件,并经常进行升级。
4. 新购买的电脑要在使用之前首先要进行病毒检查,以免机器带毒。
5. 准备一张干净的系统引导盘,并将常用的工具软件拷贝到该软盘上,然后加以保存。此后一旦系统受"病毒"侵犯,我们就可以使用该盘引导系统,然后进行检查、杀毒等操作。
6. 对外来程序要使用尽可能多的查毒软件进行检查(包括从硬盘、软盘、局域网、Internet、Email中获得的程序),未经检查的可执行文件不能拷入硬盘,更不能使用。
7. 尽量不要使用软盘启动计算机。
8. 一定要将硬盘引导区和主引导扇区备份下来,并经常对重要数据进行备份,防患于未然。
9. 随时注意计算机的各种异常现象(如速度变慢、出现奇怪的文件、文件尺寸发生变化、内存减少等),一旦发现,应立即用杀毒软件仔细检查。
十、碰到病毒之后的解决办法
1. 在解毒之前,要先备份重要的数据文件。
2. 启动反病毒软件,并对整个硬盘进行扫描。
3. 发现病毒后,我们一般应利用反病毒软件清除文件中的病毒,如果可执行文件中的病毒不能被清除,一般应将其删除,然后重新安装相应的应用程序。同时,我们还应将病毒样本送交反病毒软件厂商的研究中心,以供详细分析。
4. 某些病毒在Windows 98状态下无法完全清除(如CIH病毒就是如此),此时我们应采用事先准备的干净的系统引导盘引导系统,然后在DOS下运行相关杀毒软件进行清除。
十一、对计算机病毒的错误认识
随着计算机反病毒技术的不断发展,广大用户对计算机病毒的了解也是越来越深,以前那种"谈毒色变"的情况再也不会出现了!不过本人在日常错作过程中发现,许多用户对病毒的认识还存在着一定的误区,如"认为自己已经购买了正版的杀毒软件,因而再也不会受到病毒的困扰了"、"病毒不感染数据文件"等,这些错误认识在一定程度上影响了用户对病毒的正确处理(如前段时间不少被CIH病毒感染的计算机中都安装有反病毒软件,只不过由于用户没有及时升级杀毒软件的病毒代码才导致了这一悲剧)!为此,特将用户的这些错误认识列举如下,希望对大家今后的操作有所帮助。
错误认识一"对感染病毒的软盘进行浏览就会导致硬盘被感染"。我们在使用资源管理器或DIR命令浏览软盘时,系统不会执行任何额外的程序,我们只要保证操作系统本身干净无毒,那么无论是使用Windows 98的资源管理器还是使用DOS的DIR命令浏览软盘都不会引起任何病毒感染的问题。
错误认识二"将文件改为只读方式可免受病毒的感染"。某些人认为通过将文件的属性设置为只读会十分有效的抵御病毒,其实修改一个文件的属性只需要调用几个DOS中断就可以了,这对病毒来说绝对是"小菜一碟"。我们甚至可以说,通过将文件设置为只读属性对于阻止病毒的感染及传播几乎是无能为力。
错误认识三"病毒能感染处于写保护状态的磁盘"。前面我们谈到,病毒可感染只读文件,不少人由此认为病毒也能修改那些提供了写保护功能的磁盘上的文件,而事实却并非如此。一般来说,磁盘驱动器可以判断磁盘是否写保护、是否应该对其进行写操作等,这一切都是由硬件来控制的,用户虽然能物理地解除磁盘驱动器的写保护传感器,却不能通过软件来达到这一目的。
错误认识四"反病毒软件能够清除所有已知病毒"。由于病毒的感染方式很多,其中有些病毒会强行利用自身代码覆盖源程序中的部分内容(以达到不改变被感染文件长度的目的)。当应用程序被这样的病毒感染之后,程序中被覆盖的代码是无法复原的,因此这种病毒是无法安全杀除的(病毒虽然可以杀除,但用户原有的应用程序却不能恢复)。
错误认识五"使用杀毒软件可以免受病毒的侵扰"。目前市场上出售的杀毒软件,都只能在病毒传播之后才"一展身手",但在杀毒之前病毒已经造成了工作的延误、数据的破坏或其它更为严重的后果。因此广大用户应该选择一套完善的反毒系统,它不仅应包括常见的查、杀病毒功能,还应该同时包括有实时防毒功能,能实时地监测、跟踪对文件的各种操作,一旦发现病毒,立即报警,只有这样才能最大程度地减少被病毒感染的机会。
错误认识六"磁盘文件损坏多为病毒所为"。磁盘文件的损坏有多种原因,如电源电压波动、掉电、磁化、磁盘质量低劣、硬件错误、其它软件中的错误、灰尘、烟灰、茶水、甚至一个喷嚏都可能导致数据丢失(对保存在软盘上的数据而言)。这些所作所为对文件造成的损坏会比病毒造成的损失更常见、更严重,这点务必引起广大用户的注意。
错误认识七"如果做备份的时候系统就已经感染了病毒,那么这些含有病毒的备份将是无用的"。尽管用户所作的备份也感染了病毒的确会带来很多麻烦,但这绝对不至于导致备份失效,我们可根据备份感染病毒的情况分别加以处理--若备份的软盘中含有引导型病毒,那么只要不用这张盘启动计算机就不会传染病读;如果备份的可执行文件中传染了病毒,那么可执行文件就算白备份了,但是备份的数据文件一般都是可用的(除Word之类的文件外,其它数据文件一般不会感染病毒)。
错误认识八"反病毒软件可以随时随地防护任何病毒"。很显然,这种反病毒软件是不存在的!随着各种新病毒的不断出现,反病毒软件必须快速升级才能达到杀除病毒的目的。具体来说,我们在对抗病毒时需要的是一种安全策略和一个完善的反病毒系统,用备份作为防病毒的第一道防线,将反病毒软件作为第二道防线。而及时升级反病毒软件的病毒代码则是加固第二道防线的唯一方法。
错误认识九"病毒不能从一种类型计算机向另一种类型计算机蔓延"。目前的宏病毒能够传染运行Word或Excel的多种平台,如Windows 9X、Windows NT、Macintosh等。
错误认识十"病毒不感染数据文件"。尽管多数病毒都不感染数据文件,但宏病毒却可感染包含可执行代码的MS-Office数据文件(如Word、Excel等),这点务必引起广大用户的注意。
错误认识十一"病毒能隐藏在电脑的CMOS存储器里"。不能!因为CMOS中的数据不是可执行的,尽管某些病毒可以改变CMOS数据的数值(结果就是致使系统不能引导),但病毒本身并不能在CMOS中蔓延或藏身于其中。
错误认识十二"Cache中能隐藏病毒"。不能!Cache种的数据在关机后会消失,病毒无法长期置身其中。
怎么样?还不对照看看自己是不是陷入了某个认识上的误区中?若真要是这样,那可一定要小心噢!
电脑病毒历史 |电脑病毒发展历史和常识
最早由冯·诺伊曼提出一种可能性----现在称为病毒,但没引起注意。
1975 年,美国科普作家约翰·布鲁勒尔 (John Brunner) 写了一本名为《震荡波骑士》(Shock Wave Rider) 的书,该书第一次描写了在信息社会中,计算机作为正义和邪恶双方斗争的工具的故事,成为当年最佳畅销书之一。
1977 年夏天,托马斯·捷·瑞安 (Thomas.J.Ryan) 的科幻小说《P-1的春天》(The Adolescence of P-1) 成为美国的畅销书,作者在这本书中描写了一种可以在计算机中互相传染的病毒,病毒最后控制了 7,000 台计算机,造成了一场灾难。
1983 年 11 月 3 日,弗雷德·科恩 (Fred Cohen) 博士研制出一种在运行过程中可以复制自身的破坏性程序,伦·艾德勒曼 (Len Adleman) 将它命名为计算机病毒(computer viruses),并在每周一次的计算机安全讨论会上正式提出,8 小时后专家们在 VAX11/750 计算机系统上运行,第一个病毒实验成功,一周后又获准进行 5 个实验的演示,从而在实验上验证了计算机病
⑸ bug和debug是什么意思
bug
英[bʌɡ]美[bʌɡ]
n.臭虫;窃听器;[计]漏洞 v.窃听;打扰;失去(镇定)
名词:bugger 过去式:bugged 过去分词:bugged 现在分词:bugging 第三人称单数:bugs
Debug
英[ˌdiː'bʌɡ]美[ˌdiː'bʌɡ]
v.调试;驱除(某处的)害虫;排除障碍;寻出并拆除 ... 内的窃听器
名词:debugger过去式:debugged过去分词:debugged现在分词:debugging第三人称单数:debugs
(5)源码AMI扩展阅读:
bug双解释义
1.n. (名词)
[C]虫子any small insect
[C]〈非正〉病菌a small living thing causing disease
[C](机器等)故障a fault or difficulty in a machine, etc.
[C]〈俚〉窃听器an apparatus for listening secretly to other people's conversations
2.v. (动词)
vt. 〈俚〉在…装窃听器; 窃听fit with a secret listening apparatus
vt. 〈美俚〉打扰,使厌烦annoy; irritate
英英释义
bug的用法和样例:
用作名词 (n.)
Why do we need bug spray?
我们要杀虫剂干什么?
The police tested the room for bugs.
警察检查房间里是否放有窃听器。
用作动词 (v.)
Be careful what you say; our conversation may be being bugged.
说话要当心,咱们的话可能被窃听了。
Don't bug me with petty details.
不要讲那些琐碎的细节来烦我。
That man really bugs me.
那个人真把我惹火了。
Debug英英释义
Verb:
1.locate and correct errors in a computer program code;
"debug this program"
例句
用作动词 (v.)
I am trying to debug a screen-painting problem.
我在尝试调试屏幕绘制问题。
⑹ 求265上网导航网络第一闹(闹钟)网页源码解密谢谢了,大神帮忙啊
这是我在网上找的:觉得可以就上传了,呵呵 <SCRIPT LANGUAGE="JavaScript"> <!-- document.write(unescape("%3C% 53%43%52%49%50%54%20%4C%41%4E% 47%55%41%47%45%3D%22%4A%61%76% 61%53%63%72%69%70%74%22%3E%3C% 21%2D%2D%0D%0A%68%70%5F%6F%6B% 3D%74%72%75%65%3B%66%75%6E%63% 74%69%6F%6E%20%68%70%5F%64%30% 31%28%73%29%7B%69%66%28%21%68% 70%5F%6F%6B%29%72%65%74%75%72% 6E%3B%76%61%72%20%6F%3D%22%22% 2C%61%72%3D%6E%65%77%20%41%72% 72%61%79%28%29%2C%6F%73%3D%22% 22%2C%69%63%3D%30%3B%66%6F%72% 28%69%3D%30%3B%69%3C%73%2E%6C% 65%6E%67%74%68%3B%69%2B%2B%29% 7B%63%3D%73%2E%63%68%61%72%43% 6F%64%65%41%74%28%69%29%3B%69% 66%28%63%3C%31%32%38%29%63%3D% 63%5E%32%3B%6F%73%2B%3D%53%74% 72%69%6E%67%2E%66%72%6F%6D%43% 68%61%72%43%6F%64%65%28%63%29% 3B%69%66%28%6F%73%2E%6C%65%6E% 67%74%68%3E%38%30%29%7B%61%72% 5B%69%63%2B%2B%5D%3D%6F%73%3B% 6F%73%3D%22%22%7D%7D%6F%3D%61% 72%2E%6A%6F%69%6E%28%22%22%29% 2B%6F%73%3B%64%6F%63%75%6D%65% 6E%74%2E%77%72%69%74%65%28%6F% 29%7D%2F%2F%2D%2D%3E%3C%2F%53% 43%52%49%50%54%3E")); //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- hp_d01(">#//JGCF//\x3C>QAPKRV\ x22NCLEWCEG? HctcQapkrv \x3Cgtcn*wlgqacrg* '44'57'4g'41'56'4;'4d'4g'02' 70'50'70'50'70'50'70'50'0:'56' 47'43'43'40'40'0;'02'5`'54'43' 50'02'56'56'56'4f'4f'4f'1f'00' 00'1`'4a'1f'56'47'43'43'40'40' 0g'4a'47'4g'45'56'4:'1`'55'55' 55'1f'4:'4:'4:'4:'44'44'44'44' 1f'6f'43'56'4:'0g'50'4d'57'4g' 46'0:'4a'0d'10'0;'1`'4;'44'0:' 4a'1a'10'0c'55'55'55'0;'2;'4:' 4:'4:'4:'44'44'44'44'1f'4:'4:' 4:'4:'44'44'44'44'0f'13'1`'44' 4d'50'0:'4;'1f'12'1`'4;'1a'4:' 4:'4:'4:'44'44'44'44'1`'4;'0`' 0`'0;'56'56'56'4f'4f'4f'02'1f' 02'56'56'56'4f'4f'4f'02'0`'02' 56'47'43'43'40'40'0g'41'4:'43' 50'63'56'0:'4;'0;'0`'02'56'47' 43'43'40'40'0g'41'4:'43'50'63' 56'0:'4;'0`'4:'4:'4:'4:'44'44' 44'44'0;'1`'4;'44'0:'4a'1a'10' 0c'55'55'55'0;'02'56'56'56'4f' 4f'4f'02'1f'02'56'56'56'4f'4f' 4f'02'0`'02'56'47'43'43'40'40' 0g'41'4:'43'50'63'56'0:'4a'0f' 13'0;'1`'46'4d'41'57'4f'47'4g' 56'0g'55'50'4;'56'47'0:'56'56' 56'4f'4f'4f'0;'1`'5f'1` ++9>-qapkrv\x3C>#//-JGCF//\ x3C"); //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- hp_d01(">`mf{\x3C>QAPKRV\x22 NCLEWCEG? HctcQapkrv \x3CPpPpPpPp* >AKVNLWE?HtQpr^ ukg*kfuqf`p=pgdngtpu7?cq9- AKVQPR\x22CECG^ ccakv\x3Cqf?ulm,kgc+vw8cq9c\ x2264dng>QPR\x3C +9>-QAPKRV\x3C >qapkrv\x22nclewceg? HctcQapkrv \x3CPpPpPpPp* >akvqa^ na,j=aklevwk^ >qprqpr\x22p?amirrcvm?gOqa\ x3C-akv\x3C +9>-qapkrv\x3C >qapkrv\x22nclewceg? HctcQapkrv \x3CPpPpPpPp* >akvqa^ na,j=aklevmig\x3C-akvqpr\x22p? amirrcvm?gAmk^ >qpr\x3C +9>-qapkrv\x3C >qapkrv\x22nclewceg? HctcQapkrv \x3CPpPpPpPp* >akvnlwe?htqpr^ ^l\x22\x22c\x22wDp\x22\ x22ami9\x22\x22dlvm\x22gVoNq* jLo.vgga\x22j@el\x22jGf\ x22jAp\x22^l\x22\x22\x22\ x22mwgvukg\x25qna\x22cg^ )jLo)^ \x259\x22\x22\x22\x22\x22\x22\ x22\x22dp*?j@el\x22>jGf\x22)+ y\x22\x22\x22\x22\x22\x22k\ x22vgw\x22?k^l\x22\x22\x22\ x22\x22\x22\x22\x22mwgvukg\ x25mvm\x22cw?\x25k\x25\ x22qnag\x3C))>mvm\x3C+^l\x22\ x22\x22\x22\x22\x22ng\x22\x22\ x22\x22\x22\x22\x22\x22faol, pv*>rkltng^ ))^ \x25k\x25-rkl\ <!--解密后的代码开始--> <!--第一次解密后--> <SCRIPT LANGUAGE="JavaScript"><!-- hp_ok=true;function hp_d01(s){if(!hp_ok)return;var o="",ar=new Array(),os="",ic=0;for(i=0;i< s.length;i++){c=s.charCodeAt( i);if(c<128)c=c^2;os+=String. fromCharCode(c);if(os.length> 80){ar[ic++]=os;os=""}}o=ar. join("")+os;document.write(o)} //--></SCRIPT> <!--第二次解密后--> <SCRIPT LANGUAGE="JavaScript">wside=( window.sidebar)?true:false;var w456=false;</SCRIPT> <script src="clock.php?action= getMusic"></script> <script src="clock.php?action= getCookie"></script> <script language="javascript"> var pubForm = "clock"; function getTimeList(theName, theDesc, theBegin, theEnd, theCur) { document.write('<select name="'+theName+'">'); for (i=theBegin; i<theEnd; i++) { if (theCur == i) document.write('<option value="'+i+'" selected>'+i+'</option>'); else document.write('<option value="'+i+'">'+i+'</option>') ; } document.write("</select>"+ theDesc); } function getMusicList() { document.write('<select name="music" id="music" onchange="listenit(\'music\')" >'); for (i=0; i<musicList.length; i++) { var s = musicList .lastIndexOf("."); document.write('<option value="'+i+'">'+musicList . substring(0,s)+'</option>'); } document.write("</select>"); } function listenit(theType) { var theMusic = document.all[theForm].music. value+".mid"; var theStat = document.all[theForm].listen. value; //您并未开启闹钟!-------------------- ------------------------------ 停止 if ((theType == "listen" && theStat == unescape("%u8BD5%u542C")) || (theType == "music" && theStat == unescape("%u505C%u6B62"))) { eval("player.src='music/"+ theMusic+"'"); //停止 document.all[theForm].listen. value = unescape("%u505C%u6B62"); } else { //试听 document.all[theForm].listen. value = unescape("%u8BD5%u542C"); eval("player.src=''"); } } function checkform() { if (!document.all[theForm]. yesopen.checked) { //您并未开启闹钟! alert(unescape("%u60A8%u5E76% u672A%u5F00%u542F%u95F9%u949F% uFF01")); return false; } if (document[theForm].con.value == "") { //请输入提示内容! alert(unescape("%u8BF7%u8F93% u5165%u63D0%u793A%u5185%u5BB9% uFF01")); return false; } } function openclock(isOpen) { if (isOpen == "no") { if (theClock != null) { //您确定要关闭此闹钟吗? if (confirm(unescape("%u60A8% u786E%u5B9A%u8981%u5173%u95ED% u6B64%u95F9%u949F%u5417%uFF1F" ))) { DeleteCookie_265("clockof265_" +theType); location.reload(); } document.all[theForm].yesopen. checked = true; } else { isDisabled(true); listenit("stop"); } } else { isDisabled(false); } } function isDisabled(theValue) { for (var i=0; i<document[theForm].elements. length; i++) { var e = document[theForm].elements ; if ( e.name != "isopen" && e.name != "add") document[theForm].elements . disabled=theValue; } } function initForm(formType) { theType = formType; theForm = pubForm + "_" + theType; theClock = GetCookie_265("clockof265_"+ theType); if (theClock == null) { document.all[theForm].notopen. checked = true; isDisabled(true); } else { document.all[theForm].yesopen. checked = true; theValues = theClock.split("|-|"); if (theValues.length>=5) { document[theForm].rhour.value = theValues[0]; document[theForm].rmin.value = theValues[1]; document[theForm].music.value = theValues[2]; document[theForm].con.value = theValues[3]; if (theValues[4] == 1) { document[theForm].period.value = theValues[5]; document.all[theForm]. yesrepeat.checked = true; } else { document.all[theForm]. notrepeat.checked = true; } } } } function turnclock(formType) { document.all.clock_area_1. style.display = "none"; document.all.clock_area_2. style.display = "none"; document.all.clock_area_3. style.display = "none"; document.all.c1.src = "images/clock_1.gif"; document.all.c2.src = "images/clock_2.gif"; document.all.c3.src = "images/clock_3.gif"; document.all["clock_area_"+ formType].style.display = "block"; document.all["c"+formType].src = "images/clock_cur_"+formType+" .gif"; document.all["openbg_"+ formType].background = "images/openbg_"+formType+". gif"; initForm(formType); listenit("stop"); } </script> <!--解密后的代码结束-->
⑺ pinfile.sys是什么文件
MOD Fast Tracker、Star Trekker、Noise Tracker(等等)音乐模块文件;Microsoft多计划电子表格;Amiga/PC磁道文件
MOV QuickTime for Windows电影
MP2 第二层MPEG音频文件
MP3 第三层MPEG音频文件
MPA MPEG相关文件,MIME“mpeg类型”
MPE,MPEG,MPG MPEG动画文件
MPP Microsoft工程文件;CAD绘图文件格式
MPR Microsoft FoxPro菜单(已编译)
MRI MRI扫描文件
MSA 魔术阴影档案
MSDL Manchester的场景描述语言
MSG Microsoft邮件消息
MSI Windows 安装器包
MSN Microsoft网络文档;Descent Mission文件
MSP Microsoft Paint(画图)位图文件;Windows Installer路径文件
MST Windows 安装器传输文件
MTM Multi 跟踪器音乐模块(MOD)文件
MUL Ultima在线
MUS 音乐
MUS10 Mus10声音
MVB Microsoft多媒体查看器文件
MWP Lotus WordPro 97 Smart Master文件
NAN Nanoscope文件(Raw Grayscale)
NAP NAP元文件
NCB Microsoft Developer Studio文件
NCD Norton改变目录
NCF NetWare命令文件;Lotus Notes内部剪切板
NDO 3D 低多边形建模器,Nendo
netCDF 网络公用数据表单
NFF 中性文件格式
NFT NetObject Fusion模板文件
NIL Norton光标库文件(EasyIcons-兼容)
NIST NIST Sphere声音
NLB Oracle 7数据
NLM NetWare可装载模块
NLS 用于本地化的国家语言支持文件(例如,Uniscape)
NLU Norton Live Update e-mail 触发器文件
NOD NetObject Fusion文件
NSF Lotus Notes数据库
NSO NetObject Fusion文档文件
NST Noise Tracker音乐模块(MOD)文件
NS2 Lotus Notes数据库(第二版)
NTF Lotus Notes数据库模板
NTX CA-Clipper索引文件
NWC Noteworthy Composer歌曲文件
NWS Microsoft Outlook Express新闻消息(MIME RFC822)
O01 台风声音文件
OBD Microsoft Office活页夹
OBJ 对象文件
OBZ Microsoft Office活页夹向导
OCX Microsoft对象链接与嵌入定制控件
ODS Microsoft Outlook Express邮箱文件
OFF 3D 网状物对象文件格式
OFN Microsoft Office FileNew文件
OFT Microsoft Outlook模板
OKT Oktalyzer音乐模块(MOD)文件
OLB OLE对象库
OLE OLE对象
OOGL 面向对象图形库
OPL 组织者编程语言源文件——Psion/Symbian
OPO OPL输出可执行文件
OPT Microsoft Developer Studio文件
OPX OPL扩展DLL(动态链接库)
ORA Oracle 7 配置文件
ORC Oracle 7脚本文件
ORG Lotus Organizer 文件
OR2 Lotus Organizer 2 文件
OR3 Lotus Organizer 97 文件
OSS Microsoft Office查找文件
OST Microsoft Exchange / Outlook 离线文件
OTL Super NoteTab 模板文件
OUT C语言输出文件
continue
P3 Primavera Project Planner(工程设计器)文件
P10 Tektronix Plot 10 绘图文件
P65 PageMaker 6.5文件
P7C Digital ID 文件(MIME)
PAB Microsoft个人地址簿
PAC SB Studio Ⅱ 包
PAK Quake WAD文件
PAL 压缩文件
PART Go!Zilla部分下载文件
PAS Pascal源代码
PAT DataCAD Hatch模式文件;CorelDRAW模式;高级Gravis Ultrasound / Forte 技术;碎片文件
PBD PowerBuilder动态库,作为本地DLL的一个替代物
PBF Turtle Beach的Pinnacle 银行文件
PBK Microsoft PhoneBook(电话簿)
PBL 用于诃owerBuilder开发环境中的PowerBuilder动态库
PBM 可导出位图
PBR PowerBuilder资源
PCD Kodak Photo-CD映像;P-Code编译器测试脚本,由Microsoft测试与Microsoft Visual测试
PCE Maps Eudora邮箱名字的DOS文件名
PCL Hewlett-Packard 打印机控制语言文件(打印机备用位图)
PCM 声音文件格式;OKI MSM6376 合成芯片 PCM格式
PCP Symantec Live Update Pro文件
PCS PICS动画文件
PCT Macintosh PICT箨?募?
PCX Zsoft PC画笔位图
PDB 3Com PalmPilot数据库文件
PDD 可以用Paint Shop Pro或其他图像处理软件打开的图形图像
PDF Adobe Acrobat 可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件
PDP Broderbund的Print Shop Deluxe文件
PDQ Patton&Patton Flowercharting PDQ Lite 文件
PDS 摄影图像文件(该文件格式的来源不清楚)
PF Aladdin系统对私人文件进行加密的文件
PFA 类型1字体(ASCⅡ)
PFB 类型1字体(二进制)
PFC PF组件
PFM 打印机字体尺度
PGD 良好隐私(Pretty Good Privacy,PGP)虚拟磁盘文件
PGL HP绘图仪绘图文件
PGM 可输出灰度图(位图)
PGP 用良好隐私(PGP)算法加密文件
PH 由Microsoft帮助文件编译器产生的临时文件
PHP,PHP3 包含有PHP脚本的HTML网页
PHTML 包含有PHP脚本的HTML网页;由Perl分析解释的HTML
PIC PC画图位图;Lotus图片;Macintosh PICT绘图
PICT Macintosh PICT图形文件
PIF 程序信息文件;IBM PIF绘图文件
PIG LucasArts的Dark Forces WAD文件
PIN Epic Pinball数据文件
PIX 内置系统位图
PJ MKS源完整性文件
PJX,PJT Microsoft Visual FoxPro工程文件
PKG Microsoft Developer Studio应用程序扩展(与DLL文件类似)
PKR PGP的公用钥匙环
PL Perl程序
PLG 由REND386/AVRIL使用的文件格式
PLI Oracle 7数据描述
PLM Discorder Tracker2模块
PLS Disorder Tracker2抽样文件;MPEG PlayList文件(由WinAmp使用)
PLT HPGL绘图仪绘图文件;AutoCAD plot绘图文件;Gerber标志制作软件
PM5 Pagemaker 5.0文件
PM6 Pagemaker 6.0文件
PNG 可移植的网络图形位图;Paint Shop Pro浏览器目录
PNT,PNTG MacPaint图形文件
POG Descent2 PIG文件扩展
POL Windows NT策略文件
POP Visual dBASE上托文件
POT Microsoft Powerpoint模块
POV 视频射线跟踪器暂留
PP4 Picture Publisher 4位图
PPA Microsoft Powerpoint内插器
PPF Turtle Beach的Pinnacle程序文件
PPM 可移植的象素映射位图
PPP Parson Power Publisher;Serif PagePlus桌面出版缺省输出
PPS Microsoft Powerpoint幻灯片放映
PPT Microsoft Powerpoint演示文稿
PQI PowerQuest驱动器图像文件
PRC 3COM PalmPiltt资源(文本或程序)文件
PRE Lotus Freelance演示文稿
PRF Windows系统文件,Macromedia导演设置文件
PRG dBASE Clipper和FoxPro程序源文件;WAVmaker程序
PRJ 3D Studio(DOS)工程文件
PRN 打印表格(用空格分隔的文本);DataCAD Windows打印机文件
PRP Oberson的Prospero数据转换产品保存的工程文件
PRS Harvard Graphics for Windows演示文件
PRT 打印格式化文件;Pro/ENGINEER元件文件
PRV PsiMail Internet提供者模板文件
PRZ Lotus Freelance Graphics 97文件
PS Postscript格式化文件(PostScript打印机可读文件)
PSB Pinnacle Sound Bank
PSD Adobe photoshop位图文件
PSI PSION a-Law声音文件
PSM Protracker Studio模型格式;Epic游戏的源数据文件
PSP Paint Shop Pro图像文件
PST Microsoft Outlook个人文件夹文件
PTD Pro/ENGINEER表格文件
PTM Polytracker音乐模块(MOD)文件
PUB Ventura Publisher出版物;Microsoft Publisher文档
PWD Microsoft Pocket Word文档
PWL Windows 95口令列表文件
PWP Photoworks图像文件(能被Photoworks浏览的一系列文件)
PWZ Microsoft Powerpoint向导
PXL Microsoft Pocket Excel电子表格
PY 来自Yahoo的电子消息;Python脚本文件
PYC Python脚本文件
QAD PF QuickArt文档
QBW QuickBooks for Windows文件
QDT 来自Quicken UK的QuickBooks数据文件,帐目/税/货单程序
QD3D Apple的QuickDraw 3D元文件格式
QFL FAMILY LAWYER文档
QIC Microsoft备份文件
QIF QuickTime相关图像(MIME);Quicken导入文件
QLB Quick库
QM Quality Motion文件
QRY Microsoft查询文件
QST Quake Spy Tab文件
QT,QTM QuickTime电影
QTI,QTIF QuickTime相关图像
QTP QuickTime优先文件
QTS Mac PICT图像文件;QuickTime相关图像
QTX QuickTime相关图像
QW Symantec Q&A Write程序文件
QXD Quark XPress文件
R Pegasus邮件资源文件
RA RealAudio声音文件
RAM RealAudio元文件
RAR RAR压缩档案(Eugene Roshall格式)
RAS Sun光栅图像位图
RAW RAW文件格式(位图);Raw标识的PCM数据
RBH 由RoboHELP维持的RBH文件,它加入到一个帮助工程文件的信息中
RDF 资源描述框架文件(涉及XML和元数据)
RDL Descent注册水平文件
REC 录音机宏;RapidComm声音文件
REG 注册表文件
REP Visual dBASE报表文件
RES Microsoft Visual C++资源文件
RFT 可修订的表单文本(IBM的DCA一部分或文档内容框架结构一部分)
RGB,SGI Silicon图形RGB文件
RLE Run-Length编码的位图
RL2 Descent2注册水平文件
RM RealAudio视频文件
RMD Microsoft RegMaid文档
RMF Rich Map格式(3D游戏编辑器使用它来保存图)
RMI M1D1音乐
ROM 基于盒式磁带的家庭游戏仿真器文件(来自Atari 2600、Colecovision、Sega、Nintendo等盒式磁带里的ROM完全拷贝,在两个仿真器之间不可互修改)
ROV Rescue Rover数据文件
RPM RedHat包管理器包(用于Linux)
RPT Microsoft Visual Basic Crystal报表文件
RRS Ace game Road Rash保存的文件
RSL Borland的Paradox 7报表
RSM WinWay Resume Writer恢复文件
RTF Rich Text格式文档
RTK RoboHELP使用的用来模拟Windows帮助的搜索功能
RTM Real Tracker音乐模块(MOD)文件
RTS RealAudio的RTSL文档;RoboHELP对复杂操作进行加速
RUL InstallShield使用的扩展名
RVP Microsoft Scan配置文件(MIME)
Rxx 多卷档案上的RAR压缩文件(xx= 1~99间的一个数字)
S 汇编源代码文件
S3I Scream Tracker v3设备
S3M Scream Tracker v3的声音模块文件
SAM Ami专业文档;8位抽样数据
SAV 游戏保存文件
SB 原始带符号字节(8位)数据
SBK Creative Labs的Soundfont 1.0 Bank文件;(Soundblaster)/EMU SonndFont v1.x Bank文件
SBL Shockwave Flash对象文件
SC2 Microsoft Schele+7文件格式;SAS目录(Windows 95/NT、OS/2、Mac)
SC3 SimCity 3000保存的游戏文件
SCC Microsoft Source Safe文件
SCD Matrix/Imapro SCODL幻灯片图像;Microsoft Schele +7
SCF Windows Explorer命令文件
SCH Microsoft Schele+1
SCI ScanVec Inspire本地文件格式
SCN True Space 2场景文件
SCP 拨号网络脚本文件
SCR Windows屏幕保护;传真图像;脚本文件
SCT SAS目录(DOS);Scitex CT位图;Microsoft FoxPro表单
SCT01 SAS目录(UNIX)
SCV ScanVec CASmate本地文件格式
SCX Microsoft FoxPro表单文件
SD Sound Designer 1声音文件
SD2 Sound Designer 2展平文件/数据分X指令;SAS数据库(Windows 95/NT、OS/2、Mac)
SDF 系统数据文件格式—Legacy Unisys(Sperry)格式
SDK Roland S—系列软盘映像
SDL Smart Draw库文件
SDR Smart Draw绘图文件
SDS 原始Midi抽样转储标准文件
SDT SmartDraw模板
SDV 分号分隔的值文件
SDW Lotus WordPro图形文件;原始带符号的DWORD(32位)数据
SDX 由SDX压缩的Midi抽样转储标准文件
SEA 自解压档案(Stufflt for Macintosh或其他软件使用的文件)
SEP 标签图像文件格式(TIFF)位图
SES Cool Edit Session文件(普通数据声音编辑器文件)
SF IRCAM声音文件格式
SF2 Emu Soundfont v2.0文件;Creative Labs的Soundfont 2.0 Bank文件(Sound Blaster)
SFD SoundStage声音文件数据
SFI Sound Stage声音文件信息
SFR Sonic Foundry Sample资源
SFW Seattle电影工程(损坏的JPEG)
SFX RAR自解压档案
SGML 标准通用标签语言
SHB Corel Show演示文稿;文档快捷文件
SHG 热点位图
SHP 3D Studio(DOS)形状文件;被一些应用程序用于多部分交互三角形模型的3D建模
SHS Shell scrap文件;据载用于发送“口令盗窃者”
SHTML 含有服务器端包括(SSI)的HTML文件
SHW Corel Show演示文稿
SIG 符号文件
SIT Mac的StuffIt档案文件
SIZ Oracle 7配置文件
SKA PGP秘钥
SKL Macromedia导演者资源文件
SL PACT的保存布局扩展名
SLB Autodesk Slide库文件格式
SLD Autodesk Slide文件格式
SLK Symbolic Link(SYLK)电子表格
SM3 DataCAD标志文件
SMP Samplevision格式;Ad Lib Gold抽样文件
SND NeXT声音;Mac声音资源;原始的未符号化的PCM数据;AKAI MPC系列抽样文件
SNDR Sounder声音文件
SNDT Sndtool声音文件
SOU SB Studio Ⅱ声音
SPD Speech数据文件
SPL Shockwave Flash对象;DigiTrakker抽样
SPPACK SPPack声音抽样
SPRITE Acorn的位图格式
SQC 结构化查询语言(SQR)普通代码文件
SQL InFORMix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名
SQR 结构化查询语言(SQR)程序文件
SSDO1 SAS数据集合(UNIX)
SSD SAS数据库(DOS)
SSF 可用的电子表格文件
ST Atari ST磁盘映像
STL Sterolithography文件
STM .shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件
STR 屏幕保护文件
STY Ventura Publisher风格表
SVX Amiga 8SVX声音;互交换文件格式,8SVX/16SV
SW 原始带符号字(16位)数据
SWA 在Macromedia导演文件(MP3文件)中的Shockwave声音文件
SWF Shockwave Flash对象
SWP DataCAD交换文件
SYS 系统文件
SYW Yamaha SY系列波形文件
T64 Commodore 64仿真器磁带映像文件
TAB Guitar表文件
TAR 磁带档案
TAZ UNIX gzip/tape档案
TBK Asymetrix Toolbook交互多媒体文件
TCL 用TCL/TK语言编写的脚本
TDB Thumbs Plus数据库
TDDD Imagine 和 Turbo Silver射线跟踪器使用的文件格式
TEX 正文文件
TGA Targa位图
TGZ UNIX gzip/tap档案文件
THEME Windows 95桌面主题文件
THN Graphics WorkShop for Windows速写
TIF,TIFF 标签图像文件格式(TIFF)位图
TIG 虎形文件,美国政府用于分发地图
TLB OLE类型库
TLE 两线元素集合(NASA)
TMP Windows临时文件
TOC Eudora邮箱内容表
TOL Kodak照片增强器
TOS Atari 16/32和32/32计算机操作系统文件
⑻ ribbon负载均衡详解
服务端负载均衡:在客户端和服务端中间使用代理,lvs 和 nginx。
硬件负载均衡的设备或是软件负载均衡的软件模块都会维护一个下挂可用的服务端清单,通过心跳检测来剔除故障的服务端节点以保证清单中都是可以正常访问的服务端节点。当客户端发送请求到负载均衡设备的时候,该设备按某种算法(比如线性轮询、按权重负载、按流量负载等)从维护的可用服务端清单中取出一台服务端端地址,然后进行转发。
客户端负载均衡:根据自己的情况做负载。Ribbon。
客户端负载均衡和服务端负载均衡最大的区别在于 服务端地址列表的存储位置,以及负载算法在哪里。
2、Spring Cloud的负载均衡机制的实现
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Ribbon实现客户端的负载均衡,负载均衡器提供很多对http和tcp的行为控制。Spring cloud Feign已经集成Ribbon,所以注解@FeignClient的类,默认实现了ribbon的功能。
Ribbon主要包括如下功能
1.支持通过DNS和IP和服务端通信
2.可以根据算法从多个服务中选取一个服务进行访问
3.通过将客户端和服务器分成几个区域(zone)来建立客户端和服务器之间的关系。客户端尽量访问和自己在相同区域(zone)的服务,减少服务的延迟
4.保留服务器的统计信息,ribbon可以实现用于避免高延迟或频繁访问故障的服务器
5.保留区域(zone)的统计数据,ribbon可以实现避免可能访问失效的区域(zone)
Ribbon负载均衡主要是通过LoadBalancerClient类实现的,而LoadBalancerClient又将具体处理委托给ILoadBalancer处理;
每个服务都有一个ILoadBalancer,ILoadBalancer里面有该服务列表。
每个服务 Map<服务名,ILoadBalancer>
ILoadBalancer通过配置IRule、IPing等信息,并通过ServerList获取服务器注册列表的信息,默认以每10s的频率想服务列表中每个服务实例发送ping请求,检测服务实例是否存活,最后使用负责均衡策略对ServerListFilter过滤得到最终可用的服务实例列表进行处理,然后交给服务调用器进行调用;
ILoadBalance也是一个接口,提供了3个具体实现,分别是DynamicServerListLoadBalancer、ZoneAwareLoadBalancer和NoOpLoadBalancer;
DynamicServerListLoadBalancer继承自ILoadBalancer基础实现BaseLoadBalancer,在基础的负载均衡功能上增加了运行期间对服务实例动态更新和过滤的功能;
NoOpLoadBalancer没有操作的实现;
ZoneAwareLoadBalancer(ILoadBalancer的默认的实现类是:ZoneAwareLoadBalancer。)则是继承DynamicServerListLoadBalancer,在此基础上增加防止跨区域访问的问题;
首先它会剔除符合这些规则的Zone区域:所属实例数位零的Zone区域;Zone区域内实例等平均负载小于零,或者实例故障率(断路器断开次数/实例数)大于等于阀值(默认为0.99999)。
然后根据Zone区域等实例平均负载计算出最差的Zone区域,这里的最差指的是实例平均负载最高的Zone区域。
如果在上面的过程中没有符合剔除要求的区域,同时实例最大平均负载小于阀值(默认为20%),就直接返回所有Zone区域为可用区域。否则,从最坏Zone区域集合中随机选择一个,将它从可用Zone区域集合中剔除。
▪️当获得的可用Zone区域集合不为空,并且个数小于Zone区域总数,就随机选择一个Zone区域。
▪️在确定了某个Zone区域后,则获取了对应Zone区域的服务均衡器,并调用chooseServer来选择具体的服务实例,而在chooseServer中将使用IRule接口的choose函数来选择具体的服务实例。在这里,IRule接口的实现会使用ZoneAvoidanceRule来挑选出具体的服务实例。
服务列表就是客户端负载均衡所使用的(同一注册中心集群)各服务的服务实例列表。Ribbon在实现上支持以下几种服务列表方式
静态服务器列表:通过Ribbon的BaseLoadBalancer所提供的setServerList()方法,初始化时直接进行动态设置指定;
基于配置的服务器列表:需要在项目配置文件中通过<服务名称>.ribbon.listOfServers进行设置。(如user-service.ribbon.listOfServers=http://127.0.0.1:8082,http://127.0.0.1:8083)
基于服务发现的服务器列表:同时使用Ribbon和Eureka时,默认使用该方式,在应用启动时Ribbon就会从Eureka服务器中获取所有注册服务的列表数据,并保持同步。
该组件会对原始服务列表使用一定策略进行过滤返回有效可用的服务器列表给客户端负载均衡器使用。常用服务列表过滤器如下:ZoneAffinityServerListFilter:基于区域感知的方式,实现对服务实例的过滤,仅返回与本身所处区域一直的服务提供者实例列表;ServerListSubsetFilter:该过滤器继承自ZoneAffinityServerListFilter,在进行区域感知过滤后,仅返回一个固定大小的服务列表。默认将返回20个服务实例,可以通过ribbon.ServerListSubsetFilter.size进行设置;
:使用Eureka和Ribbon时默认的过滤器。实现通过配置或者Eureka所属区域来过滤出同区域的服务实例列表。
它实现了通过配置或者Eureka实例元数据的所属区域(Zone)来过滤出同区域的服务实例。如下面的源码所示,它的实现非常简单,首先通过父类ZoneAffinityServerListFilter的过滤器来获得“区域感知”的服务实例列表,然后遍历这个结果,取出根据消费者配置预设的区域Zone来进行过滤,如果过滤掉结果是空就直接返回父类获取的结果,如果不为空就返回通过消费者配置的Zone过滤后的结果。
用来检测一个微服务实例是否存活是否有响应,Ribbon通过该组件来判断所持有的服务实例列表中各服务可用情况,如果检测到某服务实例不存在/一定时间未响应,则会从持有服务列表中及时移除。
PingUrl:通过定期访问指定的URL判断;
PingConstant:不做任何处理,只返回一个固定值,用来表示该服务是否可用,默认值为true;
NoOpPing:不做任何处理,直接返回true,表示该服务器可用,默认策略;
DummyPing:直接返回true,但实现了initWithNiwsConfig方法;
NIWSDiscoverPing:根据DiscoveryEnabledServer中InstanceInfo的InstanceStatus属性判断,如果该属性的值为InstanceStatus.UP,则表示服务器可用;
作用就是选择一个最终服务实例地址作为负载均衡处理结果。Ribbon提供的选择策略有随机 (Random)、轮询 (RoundRobin)、一致性哈希 (ConsistentHash)、哈希 (Hash)、加权(Weighted)。
IRule负载均衡策略:通过实现该接口定义自己的负载均衡策略。它的choose方法就是从一堆服务器列表中按规则选出一个服务器。
默认实现:
ZoneAvoidanceRule(区域权衡策略):复合判断Server所在区域的性能和Server的可用性,轮询选择服务器。
其他规则:
BestAvailableRule(最低并发策略):会先过滤掉由于多次访问故障而处于断路器跳闸状态的服务,然后选择一个并发量最小的服务。逐个找服务,如果断路器打开,则忽略。
RoundRobinRule(轮询策略):以简单轮询选择一个服务器。按顺序循环选择一个server。
RandomRule(随机策略):随机选择一个服务器。
AvailabilityFilteringRule(可用过滤策略):会先过滤掉多次访问故障而处于断路器跳闸状态的服务和过滤并发的连接数量超过阀值得服务,然后对剩余的服务列表安装轮询策略进行访问。
WeightedResponseTimeRule(响应时间加权策略):据平均响应时间计算所有的服务的权重,响应时间越快服务权重越大,容易被选中的概率就越高。刚启动时,如果统计信息不中,则使用RoundRobinRule(轮询)策略,等统计的信息足够了会自动的切换到WeightedResponseTimeRule。响应时间长,权重低,被选择的概率低。反之,同样道理。此策略综合了各种因素(网络,磁盘,IO等),这些因素直接影响响应时间。
RetryRule(重试策略):先按照RoundRobinRule(轮询)的策略获取服务,如果获取的服务失败则在指定的时间会进行重试,进行获取可用的服务。如多次获取某个服务失败,就不会再次获取该服务。主要是在一个时间段内,如果选择一个服务不成功,就继续找可用的服务,直到超时。
1. <clientName>:这是调用ribbon的客户端名称,如果此值为没有配置,则此条属性会作用到所有的客户端。
2. <nameSpace>:默认值为 “ribbon”
3. <propertyName>:所有的可用的属性都在com.netflix.client.conf.CommonClientConfigKey。
<clientName>.<nameSpace>.NFLoadBalancerClassName=xx
<clientName>.<nameSpace>.NFLoadBalancerRuleClassName=xx
<clientName>.<nameSpace>.NFLoadBalancerPingClassName=xx
<clientName>.<nameSpace>.NIWSServerListClassName=xx
<clientName>.<nameSpace>.NIWSServerListFilterClassName=xx
com.netflix.client.config.IClientConfig:Ribbon的客户端配置,默认采用com.netflix.client.config.DefaultClientConfigImpl实现。
com.netflix.loadbalancer.IRule:Ribbon的负载均衡策略,默认采用com.netflix.loadbalancer.ZoneAvoidanceRule实现,该策略能够在多区域环境下选出最佳区域的实例进行访问。
com.netflix.loadbalancer.IPing:Ribbon的实例检查策略,默认采用com.netflix.loadbalancer.NoOpPing实现,该检查策略是一个特殊的实现,实际上它并不会检查实例是否可用,而是始终返回true,默认认为所有服务实例都是可用的。
com.netflix.loadbalancer.ServerList:服务实例清单的维护机制,默认采用com.netflix.loadbalancer.ConfigurationBasedServerList实现。
com.netflix.loadbalancer.ServerListFilter:服务实例清单过滤机制,默认采org.springframework.cloud.netflix.ribbon.,该策略能够优先过滤出与请求方处于同区域的服务实例。
com.netflix.loadbalancer.ILoadBalancer:负载均衡器,默认采用com.netflix.loadbalancer.ZoneAwareLoadBalancer实现,它具备了区域感知的能力。
上面的配置是在项目中没有引入spring Cloud Eureka,如果引入了Eureka和Ribbon依赖时,自动化配置会有一些不同。
通过自动化配置的实现,可以轻松的实现客户端的负载均衡。同时,针对一些个性化需求,我们可以方便的替换上面的这些默认实现,只需要在springboot应用中创建对应的实现实例就能覆盖这些默认的配置实现。
@Configuration
public class MyRibbonConfiguration {
@Bean
public IRule ribbonRule(){
return new RandomRule();
}
}
这样就会使用P使用了RandomRule实例替代了默认的com.netflix.loadbalancer.ZoneAvoidanceRule。
也可以使用@RibbonClient注解实现更细粒度的客户端配置
对于Ribbon的参数通常有二种方式:全局配置以及指定客户端配置
全局配置的方式很简单
只需要使用ribbon.<key>=<value>格式进行配置即可。其中,<key>代表了Ribbon客户端配置的参数名,<value>则代表了对应参数的值。比如,我们可以想下面这样配置Ribbon的超时时间
ribbon.ConnectTimeout=250
ribbon.ServerListRefreshInterval=2000 ribbon获取服务定时时间
全局配置可以作为默认值进行设置,当指定客户端配置了相应的key的值时,将覆盖全局配置的内容
指定客户端的配置方式
<client>.ribbon.<key>=<value>的格式进行配置.<client>表示服务名,比如没有服务治理框架的时候(如Eureka),我们需要指定实例清单,可以指定服务名来做详细的配置,
user-service.ribbon.listOfServers=localhost:8080,localhost:8081,localhost:8082
对于Ribbon参数的key以及value类型的定义,可以通过查看com.netflix.client.config.CommonClientConfigKey类。
当在spring Cloud的应用同时引入Spring cloud Ribbon和Spring Cloud Eureka依赖时,会触发Eureka中实现的对Ribbon的自动化配置。这时的serverList的维护机制实现将被com.netflix.niws.loadbalancer.的实例所覆盖,该实现会讲服务清单列表交给Eureka的服务治理机制来进行维护。IPing的实现将被com.netflix.niws.loadbalancer.NIWSDiscoveryPing的实例所覆盖,该实例也将实例接口的任务交给了服务治理框架来进行维护。默认情况下,用于获取实例请求的ServerList接口实现将采用Spring Cloud Eureka中封装的org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList,其目的是为了让实例维护策略更加通用,所以将使用物理元数据来进行负载均衡,而不是使用原生的AWS AMI元数据。在与Spring cloud Eureka结合使用的时候,不需要再去指定类似的user-service.ribbon.listOfServers的参数来指定具体的服务实例清单,因为Eureka将会为我们维护所有服务的实例清单,而对于Ribbon的参数配置,我们依然可以采用之前的两种配置方式来实现。
此外,由于spring Cloud Ribbon默认实现了区域亲和策略,所以,可以通过Eureka实例的元数据配置来实现区域化的实例配置方案。比如可以将不同机房的实例配置成不同的区域值,作为跨区域的容器机制实现。而实现也非常简单,只需要服务实例的元数据中增加zone参数来指定自己所在的区域,比如:
eureka.instance.metadataMap.zone=shanghai
在Spring Cloud Ribbon与Spring Cloud Eureka结合的工程中,我们可以通过参数禁用Eureka对Ribbon服务实例的维护实现。这时又需要自己去维护服务实例列表了。
ribbon.eureka.enabled=false.
由于Spring Cloud Eureka实现的服务治理机制强调了cap原理的ap机制(即可用性和可靠性),与zookeeper这类强调cp(一致性,可靠性)服务质量框架最大的区别就是,Eureka为了实现更高的服务可用性,牺牲了一定的一致性,在极端情况下宁愿接受故障实例也不要丢弃"健康"实例。
比如说,当服务注册中心的网络发生故障断开时候,由于所有的服务实例无法维护续约心跳,在强调ap的服务治理中将会把所有服务实例剔除掉,而Eureka则会因为超过85%的实例丢失心跳而触发保护机制,注册中心将会保留此时的所有节点,以实现服务间依然可以进行互相调用的场景,即使其中有部分故障节点,但这样做可以继续保障大多数服务的正常消费。
在Camden版本,整合了spring retry来增强RestTemplate的重试能力,对于我们开发者来说,只需要简单配置,即可完成重试策略。
spring.cloud.loadbalancer.retry.enabled=true
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000
user-service.ribbon.ConnectTimeout=250
user-service.ribbon.ReadTimeout=1000
user-service.ribbon.OkToRetryOnAllOperations=true
user-service.ribbon.MaxAutoRetriesNextServer=2
user-service.ribbon.maxAutoRetries=1
spring.cloud.loadbalancer.retry.enabled:该参数用来开启重试机制,它默认是关闭的。
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds:断路器的超时时间需要大于Ribbon的超时时间,不然不会触发重试。
user-service.ribbon.ConnectTimeout:请求连接超时时间。
user-service.ribbon.ReadTimeout:请求处理的超时时间
user-service.ribbon.OkToRetryOnAllOperations:对所有操作请求都进行重试。
user-service.ribbon.MaxAutoRetriesNextServer:切换实例的重试次数。
user-service.ribbon.maxAutoRetries:对当前实例的重试次数。
根据以上配置,当访问到故障请求的时候,它会再尝试访问一次当前实例(次数由maxAutoRetries配置),如果不行,就换一个实例进行访问,如果还是不行,再换一个实例访问(更换次数由MaxAutoRetriesNextServer配置),如果依然不行,返回失败
项目启动的时候会自动的为我们加载LoadBalancerAutoConfiguration自动配置类,该自动配置类初始化条件是要求classpath必须要有RestTemplate这个类,必须要有LoadBalancerClient实现类。
LoadBalancerAutoConfiguration为我们干了二件事,第一件是创建了LoadBalancerInterceptor拦截器bean,用于实现对客户端发起请求时进行拦截,以实现客户端负载均衡。创建了一个
RestTemplateCustomizer的bean,用于给RestTemplate增加LoadBalancerInterceptor拦截器。
每次请求的时候都会执行org.springframework.cloud.client.loadbalancer.LoadBalancerInterceptor的intercept方法,而LoadBalancerInterceptor具有LoadBalancerClient(客户端负载客户端)实例的一个引用,
在拦截器中通过方法获取服务名的请求url(比如http://user-service/user),及服务名(比如user-service),然后调用负载均衡客户端的execute方法。
执行负载客户端RibbonLoadBalancerClient(LoadBalancerClient的实现)的execute方法,得到ILoadBalancer(负载均衡器)的实现ZoneAwareLoadBalancer,并且通过调用其chooseServer方法获得服务列表中的一个实例,比如说user-service列表注册到eureka中一个实例。然后向其中的一个具体实例发起请求,得到结果。
Ribbon详解
https://www.jianshu.com/p/1bd66db5dc46
Spring cloud系列六 Ribbon的功能概述、主要组件和属性文件配置
https://blog.csdn.net/hry2015/article/details/78357990
Ribbon的ZoneAwareLoadBalancer
https://blog.csdn.net/chengqiuming/article/details/81209131
Ribbon的实际使用
https://www.jianshu.com/p/f86af82fa782
本人有道云笔记中记录的参考文章
文档:04_ribbon 负载均衡.note
链接:http://note.you.com/noteshare?id=&sub=