DCErpc详解
dcom的介绍
轻松配置如果不容易安装和管理的话,即使是最好的应用系统也是没有用的。
对于分布式应用来说,能够集中管理和尽可能简单的客户安装过程是非常关键的。
同时,提供一些办法使系统管理员能够在潜在的错误造成任何损害之前尽可能早的发现它对于分布式应用也是非常必要的。
DCOM提供了什么技术能够让一个应用更加易于管理呢?安装简化客户端安装的一种普遍方法可以概括为一个词“稀薄的客户”,意思是驻留在客户端的机能越少,安装以及可能发生的维护问题也就越少。
然而,客户组件越“稀薄”,整个应用的用户友好度就越低,对网络和服务器的需求也就越高。
稀薄的客户还不能充分利用当今桌面办工系统所能得到的强大的计算能力,而由于诸如字处理软件以及电子表格软件这些桌面生产应用系统本身就具有统一而庞大的特性,所以大多数用户对于这种系统的强大的计算能力的需求也不会减弱。
因此在正确的级别实现“浓厚”对于分布式应用的设计来说是一个非常重要的决定。
DCOM通过让开发者甚至管理员来选择每个组件的位置来促进配置的简单性和灵活性之间的平衡。
可以通过对配置的简单改动使同一个事务组件(例如数据登录检查组件)分别在服务器和客户端执行。
应用能够动态地选择所使用的用户界面组件(服务器上的HTML产生器或者客户端的ActiveX控件)。
保持“肥胖的”客户的一个最大的问题是将这些客户更新到最新版本的问题。
现在通过对代码下载的支持,微软的Internet Explorer 3.0提供了解决这一问题的一个非常优雅的办法。
只要用户在浏览一页页面,微软的Internet Explorer就会检查页面中所使用的ActiveX控件,并在必要时自动对其进行更新。
应用也可以在不明确使用浏览器的时候使用这一被微软直接支持的特性(ActiveX的CoCreateClassFromURL函数)。
在Windows NT 5.0中,代码下载的概念将被扩展到本地COM类库中。
这一类库将使用扩展目录来储存组件的配置信息和到实际代码的索引,它改变了当前使用的本地登记概念。
什么是远程过程调用
什么是远程过程调⽤什么是远程过程调⽤我们经常需要设计⼀个分布式系统,并通过分布式系统,实现程序跨计算机运⾏。
例如,为了建⽴⼀个⼤型的事务处理系统,需要⼀个专门服务器负责事务逻辑对象,另外专门设计⼀个服务器展⽰逻辑对象,诸如此类。
所有这些服务器相互之间都需要通信(见图14-1)。
为了这样的⼀个模型能正常⼯作,⼀台计算机的代码需要访问另⼀台计算机。
例如,位于服务器的程序需要在⼀个Web页⾯上显⽰⼀个订单列表,在这种情形下,它需要访问业务对象服务器上的程序,通过它读取订单列表,业务对象服务器⼜要访问数据库服务器。
当⼀台计算机上的程序调⽤另⼀台计算机的程序时,就称之为⼀次远程过程调⽤(Remote Procedure Call,RPC)。
为了执⾏⼀个远程过程调⽤,需要掌握以下内容:●被调⽤的代码驻留在哪⾥?当需要执⾏某个代码时,⾸先需要知道该代码在哪⾥?●调⽤这些代码需要参数吗?如果需要,参数的类型是什么?例如,如果我们想调⽤⼀个远程过程执⾏两个数的加法运算,则必须要把这两个数传递给这个过程。
●调⽤过程需要返回运算结果吗?如果需要,则返回值的类型是什么?例如,两个数相加的过程要返回第三个数,即它们的和。
图 14‑1此外,我们还需要解决⼤量的⽹络问题,把需要从⼀台计算机传送给另⼀台计算机的数据进⾏打包,以及其他很多问题。
正是由于这个原因,⼈们开发了许多RPC协议。
协议就是⼀组规则,有了这组规则,不同的应⽤程序甚⾄不同的计算机都可以相互通信。
例如,Internet上的计算机就是⽤TCP(传输控制协议)和IP(⽹际协议)两个协议进⾏通信的,因为它们规定了Internet上的数据传输过程和计算机寻址⽅法。
这些协议规定如何为远程计算机提供地址,如何把需要传送给远程过程的数据打包,如何读取响应信号,如何启动远程调⽤,如何进⾏纠错处理,以及处理所有与多个计算机之间通信有关的细节问题(这样的RPC协议通常都是建⽴在其他协议的基础上,例如,RPC协议规定在⽹络传输中必须使⽤TCP/IP协议)。
dec_rpc分析
OPC UA
基于TCP/IP
Hale Waihona Puke PROFINET IO real-time (RT)
▪ 100ms
isochronous real-time (IRT)
PROFINET CBA
Component Based Automation) 50-100ms 基于DCOM/UDP PLC和设备之间 基于UDP,实时性要求较高
SMB
▪ EPM接口,Map方法
标准DCE/RPC
基于DCOM的OPC DA
ncadg_ip_udp ncacn_np
▪ ISystemActivator接口, RemoteCreateInstance方法
和TCP有什么不同?
基于SMB协议
Support of multiple protocols sequences
OPC Classic
▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
基于DCOM 规范
Data Access (实时数据访问)3.0 Historical Data Access(历史数据访问)1.2 Alarms & Events(报警和事件)1.1 Security(安全性)1.0 DX(Data Exchange)(数据交换)1.0 XML DA(过程数据)2.0 Batch(批量过程)2.0 Complex Data(复杂数据)1
远程过程调用(Remote Procedure Call) 分类
第一代 RPC
▪ Sun RPC ▪ DCE RPC
▪ DCE(Distributed Computing Environment,分布式计算环境) ▪ 可以基于TCP/UDP/HTTP/SMB
rpcdce文件头内容
{
unsigned int Count;
unsigned char __RPC_FAR * Protseq[1];
} RPC_PROTSEQ_VECTORA;
typedef struct _RPC_PROTSEQ_VECTORW
#define RPC_C_PROTSEQ_MAX_REQS_DEFAULT 10
// RPC_POLICY EndpointFlags.
#define RPC_C_BIND_TO_ALL_NICS 1
#define RPC_C_USE_INTERNET_PORT 0x1
#ifndef GUID_DEFINED
#include <guiddef.h>
#endif /* GUID_DEFINED */
#ifndef UUID_DEFINED
#define UUID_DEFINED
typedef GUID UUID;
#ifndef uuid_t
#define uuid_t UUID
#define RPC_C_BINDING_DEFAULT_TIMEOUT 5
#define RPC_C_BINDING_MAX_TIMEOUT 9
#define RPC_C_CANCEL_INFINITE_TIMEOUT -1
#define RPC_C_LISTEN_MAX_CALLS_DEFAULT 1234
{
unsigned int Count;
unsigned short __RPC_FAR * Protseq[1];
各个端口都代表什么意思
各个端口都代表什么意思?最佳答案//注意:由于一些应用软件占用了部分端口,因此此文件中的部分端口被注释掉了(注释的字符为://)。
TCP 1=TCP Port Service MultiplexerTCP 2=DeathTCP 5=Remote Job Entry,yoyoTCP 7=EchoTCP 11=SkunTCP 12=BomberTCP 16=SkunTCP 17=SkunTCP 18=消息传输协议,skunTCP 19=SkunTCP 20=FTP Data,AmandaTCP 21=文件传输,Back Construction,Blade Runner,Doly Trojan,Fore,FTP trojan,Invisible FTP,Larva, WebEx,WinCrashTCP 22=远程登录协议TCP 23=远程登录(Telnet),Tiny Telnet Server (= TTS)TCP 25=电子邮件(SMTP),Ajan,Antigen,Email Password Sender,Happy 99,Kuang2,ProMailtrojan,Shtrilitz,Stealth,Tapiras,Terminator,WinPC,WinSpy,Haebu Coceda TCP 27=AssasinTCP 28=AmandaTCP 29=MSG ICPTCP 30=Agent 40421TCP 31=Agent 31,Hackers Paradise,Masters Paradise,Agent 40421 TCP 37=Time,ADM wormTCP 39=SubSARITCP 41=DeepThroat,ForeplayTCP 42=Host Name ServerTCP 43=WHOISTCP 44=ArcticTCP 48=DRATTCP 49=主机登录协议TCP 50=DRATTCP 51=IMP Logical Address Maintenance,Fuck Lamers Backdoor TCP 52=MuSka52,SkunTCP 53=DNS,Bonk (DOS Exploit)TCP 54=MuSka52TCP 58=DMSetupTCP 59=DMSetupTCP 63=whois++TCP 64=Communications IntegratorTCP 65=TACACS-Database ServiceTCP 66=Oracle SQL*NET,AL-BarekiTCP 67=Bootstrap Protocol ServerTCP 68=Bootstrap Protocol ClientTCP 69=W32.Evala.Worm,BackGate Kit,Nimda,Pasana,Storm,Storm worm,Theef,Worm.Cycle.aTCP 70=Gopher服务,ADM wormTCP 79=用户查询(Finger),Firehotcker,ADM wormTCP 80=超文本服务器(Http),Executor,RingZeroTCP 81=Chubo,Worm.Bbeagle.qTCP 88=Kerberos krb5服务TCP 99=Hidden PortTCP 102=消息传输代理TCP 108=SNA网关访问服务器TCP 109=Pop2TCP 110=电子邮件(Pop3),ProMailTCP 113=Kazimas, Auther IdnetTCP 115=简单文件传输协议TCP 118=SQL Services, Infector 1.4.2TCP 119=新闻组传输协议(Newsgroup(Nntp)), Happy 99TCP 121=JammerKiller, Bo jammerkillahTCP 123=网络时间协议(NTP),Net ControllerTCP 129=Password Generator ProtocolTCP 133=Infector 1.xTCP 135=微软DCE RPC end-point mapper服务TCP 137=微软Netbios Name服务(网上邻居传输文件使用)TCP 138=微软Netbios Name服务(网上邻居传输文件使用)TCP 139=微软Netbios Name服务(用于文件及打印机共享)TCP 142=NetTaxiTCP 143=IMAPTCP 146=FC Infector,InfectorTCP 150=NetBIOS Session ServiceTCP 156=SQL服务器TCP 161=SnmpTCP 162=Snmp-TrapTCP 170=A-TrojanTCP 177=X Display管理控制协议TCP 179=Border网关协议(BGP)TCP 190=网关访问控制协议(GACP)TCP 194=IrcTCP 197=目录定位服务(DLS)TCP 256=NirvanaTCP 315=The InvasorTCP 371=ClearCase版本管理软件TCP 389=Lightweight Directory Access Protocol (LDAP) TCP 396=Novell Netware over IPTCP 420=BreachTCP 421=TCP WrappersTCP 443=安全服务TCP 444=Simple Network Paging Protocol(SNPP)TCP 445=Microsoft-DSTCP 455=Fatal ConnectionsTCP 456=Hackers paradise,FuseSparkTCP 458=苹果公司QuickTimeTCP 513=GrloginTCP 514=RPC BackdoorTCP 531=Rasmin,Net666TCP 544=kerberos kshellTCP 546=DHCP ClientTCP 547=DHCP ServerTCP 548=Macintosh文件服务TCP 555=Ini-Killer,Phase Zero,Stealth SpyTCP 569=MSNTCP 605=SecretServiceTCP 606=Noknok8TCP 661=Noknok8TCP 666=Attack FTP,Satanz Backdoor,Back Construction,Dark Connection Inside 1.2TCP 667=Noknok7.2TCP 668=Noknok6TCP 669=DP trojanTCP 692=GayOLTCP 707=WelchiaTCP 777=AIM SpyTCP 808=RemoteControl,WinHoleTCP 815=Everyone DarlingTCP 901=Backdoor.DevilTCP 911=Dark ShadowTCP 993=IMAPTCP 999=DeepThroatTCP 1000=Der SpaeherTCP 1001=Silencer,WebEx,Der SpaeherTCP 1003=BackDoorTCP 1010=DolyTCP 1011=DolyTCP 1012=DolyTCP 1015=DolyTCP 1016=DolyTCP 1020=VampireTCP 1023=Worm.Sasser.eTCP 1024=NetSpy.698(YAI)TCP 1059=nimreg//TCP 1025=NetSpy.698,Unused Windows Services Block //TCP 1026=Unused Windows Services Block//TCP 1027=Unused Windows Services Block//TCP 1028=Unused Windows Services Block//TCP 1029=Unused Windows Services Block//TCP 1030=Unused Windows Services Block//TCP 1033=Netspy//TCP 1035=Multidropper//TCP 1042=Bla//TCP 1045=Rasmin//TCP 1047=GateCrasher//TCP 1050=MiniCommandTCP 1069=Backdoor.TheefServer.202TCP 1070=Voice,Psyber Stream Server,Streaming Audio Trojan TCP 1080=Wingate,Worm.BugBear.B,Worm.Novarg.B//TCP 1090=Xtreme, VDOLive//TCP 1095=Rat//TCP 1097=Rat//TCP 1098=Rat//TCP 1099=RatTCP 1110=nfsd-keepaliveTCP 1111=Backdoor.AIMVisionTCP 1155=Network File Access//TCP 1170=Psyber Stream Server,Streaming Audio trojan,Voice //TCP 1200=NoBackO//TCP 1201=NoBackO//TCP 1207=Softwar//TCP 1212=Nirvana,Visul Killer//TCP 1234=Ultors//TCP 1243=BackDoor-G, SubSeven, SubSeven Apocalypse//TCP 1245=VooDoo Doll//TCP 1269=Mavericks Matrix//TCP 1313=Nirvana//TCP 1349=BioNetTCP 1433=Microsoft SQL服务//TCP 1441=Remote Storm//TCP 1492=FTP99CMP(BackOriffice.FTP)TCP 1503=NetMeeting T.120//TCP 1509=Psyber Streaming Server//TCP 1600=Shivka-Burka//TCP 1703=Exloiter 1.1TCP 1720=NetMeeting H.233 call SetupTCP 1731=NetMeeting音频调用控制//TCP 1807=SpySender//TCP 1966=Fake FTP 2000//TCP 1976=Custom port//TCP 1981=ShockraveTCP 1990=stun-p1 cisco STUN Priority 1 portTCP 1990=stun-p1 cisco STUN Priority 1 portTCP 1991=stun-p2 cisco STUN Priority 2 portTCP 1992=stun-p3 cisco STUN Priority 3 port,ipsendmsg IPsendmsg TCP 1993=snmp-tcp-port cisco SNMP TCP portTCP 1994=stun-port cisco serial tunnel portTCP 1995=perf-port cisco perf portTCP 1996=tr-rsrb-port cisco Remote SRB portTCP 1997=gdp-port cisco Gateway Discovery ProtocolTCP 1998=x25-svc-port cisco X.25 service (XOT)//TCP 1999=BackDoor, TransScout//TCP 2000=Der Spaeher,INsane Network//TCP 2001=Transmisson scout//TCP 2002=Transmisson scout//TCP 2003=Transmisson scout//TCP 2004=Transmisson scout//TCP 2005=TTransmisson scoutTCP 2011=cypressTCP 2015=raid-cs//TCP 2023=Ripper,Pass Ripper,Hack City Ripper Pro TCP 2049=NFS//TCP 2115=Bugs//TCP 2121=Nirvana//TCP 2140=Deep Throat, The Invasor//TCP 2155=Nirvana//TCP 2208=RuX//TCP 2255=Illusion Mailer//TCP 2283=HVL Rat5//TCP 2300=PC Explorer//TCP 2311=Studio54TCP 2556=Worm.Bbeagle.q//TCP 2565=Striker//TCP 2583=WinCrash//TCP 2600=Digital RootBeer//TCP 2716=Prayer TrojanTCP 2745=Worm.BBeagle.k//TCP 2773=Backdoor,SubSeven//TCP 2774=SubSeven2.1&2.2//TCP 2801=Phineas Phucker//TCP 2989=Rat//TCP 3024=WinCrash trojanTCP 3127=Worm.NovargTCP 3128=RingZero,Worm.Novarg.B //TCP 3129=Masters Paradise//TCP 3150=Deep Throat, The Invasor TCP 3198=Worm.Novarg//TCP 3210=SchoolBusTCP 3332=Worm.Cycle.aTCP 3333=ProsiakTCP 3389=超级终端//TCP 3456=Terror//TCP 3459=Eclipse 2000//TCP 3700=Portal of Doom//TCP 3791=Eclypse//TCP 3801=EclypseTCP 3996=Portal of DoomTCP 4000=腾讯QQ客户端TCP 4060=Portal of DoomTCP 4092=WinCrashTCP 4242=VHMTCP 4267=SubSeven2.1&2.2TCP 4321=BoBoTCP 4444=Prosiak,Swift remoteTCP 4500=W32.HLLW.TufasTCP 4567=File NailTCP 4590=ICQTrojanTCP 4899=Remote Administrator服务器TCP 4950=ICQTrojanTCP 5000=WindowsXP服务器,Blazer 5,Bubbel,Back Door Setup,Sockets de TroieTCP 5001=Back Door Setup, Sockets de TroieTCP 5002=cd00r,ShaftTCP 5011=One of the Last Trojans (OOTLT)TCP 5025=WM Remote KeyLoggerTCP 5031=Firehotcker,Metropolitan,NetMetroTCP 5032=MetropolitanTCP 5190=ICQ QueryTCP 5321=FirehotckerTCP 5333=Backage Trojan Box 3TCP 5343=WCratTCP 5400=Blade Runner, BackConstruction1.2TCP 5401=Blade Runner,Back ConstructionTCP 5402=Blade Runner,Back ConstructionTCP 5471=WinCrashTCP 5512=Illusion MailerTCP 5521=Illusion MailerTCP 5550=Xtcp,INsane NetworkTCP 5554=Worm.SasserTCP 5555=ServeMeTCP 5556=BO FacilTCP 5557=BO FacilTCP 5569=Robo-HackTCP 5598=BackDoor 2.03TCP 5631=PCAnyWhere dataTCP 5632=PCAnyWhereTCP 5637=PC CrasherTCP 5638=PC CrasherTCP 5698=BackDoorTCP 5714=Wincrash3TCP 5741=WinCrash3TCP 5742=WinCrashTCP 5760=Portmap Remote Root Linux Exploit TCP 5880=Y3K RATTCP 5881=Y3K RATTCP 5882=Y3K RATTCP 5888=Y3K RATTCP 5889=Y3K RATTCP 5900=WinVnc,Wise VGA广播端口TCP 6000=Backdoor.ABTCP 6006=Noknok8TCP 6129=Dameware Nt Utilities服务器TCP 6272=SecretServiceTCP 6267=广外女生TCP 6400=Backdoor.AB,The ThingTCP 6500=Devil 1.03TCP 6661=TemanTCP 6666=TCPshell.cTCP 6667=NT Remote Control,Wise 播放器接收端口TCP 6668=Wise Video广播端口TCP 6669=VampyreTCP 6670=DeepThroatTCP 6671=Deep Throat 3.0TCP 6711=SubSevenTCP 6712=SubSeven1.xTCP 6713=SubSevenTCP 6723=MstreamTCP 6767=NT Remote ControlTCP 6771=DeepThroatTCP 6776=BackDoor-G,SubSeven,2000 Cracks TCP 6777=Worm.BBeagleTCP 6789=Doly TrojanTCP 6838=MstreamTCP 6883=DeltaSourceTCP 6912=Shit HeepTCP 6939=IndoctrinationTCP 6969=GateCrasher, Priority, IRC 3TCP 6970=RealAudio,GateCrasherTCP 7000=Remote Grab,NetMonitor,SubSeven1.x TCP 7001=Freak88TCP 7201=NetMonitorTCP 7215=BackDoor-G, SubSevenTCP 7001=Freak88,Freak2kTCP 7300=NetMonitorTCP 7301=NetMonitorTCP 7306=NetMonitor,NetSpy 1.0TCP 7307=NetMonitor, ProcSpyTCP 7308=NetMonitor, X SpyTCP 7323=Sygate服务器端TCP 7424=Host ControlTCP 7597=QazTCP 7609=Snid X2TCP 7626=冰河TCP 7777=The ThingTCP 7789=Back Door Setup, ICQKillerTCP 7983=MstreamTCP 8000=腾讯OICQ服务器端,XDMATCP 8010=Wingate,LogfileTCP 8080=WWW 代理,Ring Zero,Chubo,Worm.Novarg.B TCP 8520=W32.Socay.WormTCP 8787=BackOfrice 2000TCP 8897=Hack Office,ArmageddonTCP 8989=ReconTCP 9000=NetministratorTCP 9325=MstreamTCP 9400=InCommand 1.0TCP 9401=InCommand 1.0TCP 9402=InCommand 1.0TCP 9872=Portal of DoomTCP 9873=Portal of DoomTCP 9874=Portal of DoomTCP 9875=Portal of DoomTCP 9876=Cyber AttackerTCP 9878=TransScoutTCP 9989=Ini-KillerTCP 9898=Worm.Win32.Dabber.aTCP 9999=Prayer TrojanTCP 10067=Portal of DoomTCP 10080=Worm.Novarg.BTCP 10084=SyphillisTCP 10085=SyphillisTCP 10086=SyphillisTCP 10101=BrainSpyTCP 10167=Portal Of DoomTCP 10168=Worm.Supnot.78858.c,Worm.LovGate.T TCP 10520=Acid ShiversTCP 10607=Coma trojanTCP 10666=AmbushTCP 11000=Senna SpyTCP 11050=Host ControlTCP 11051=Host ControlTCP 11223=Progenic,Hack '99KeyLoggerTCP 11831=TROJ_LATINUS.SVRTCP 12076=Gjamer, MSH.104bTCP 12223=Hack'99 KeyLoggerTCP 12345=GabanBus, NetBus 1.6/1.7, Pie Bill Gates, X-bill TCP 12346=GabanBus, NetBus 1.6/1.7, X-billTCP 12349=BioNetTCP 12361=Whack-a-moleTCP 12362=Whack-a-moleTCP 12363=Whack-a-moleTCP 12378=W32/Gibe@MMTCP 12456=NetBusTCP 12623=DUN ControlTCP 12624=ButtmanTCP 12631=WhackJob, WhackJob.NB1.7TCP 12701=Eclipse2000TCP 12754=MstreamTCP 13000=Senna SpyTCP 13010=Hacker BrazilTCP 13013=PsychwardTCP 13223=Tribal Voice的聊天程序PowWowTCP 13700=Kuang2 The VirusTCP 14456=SoleroTCP 14500=PC InvaderTCP 14501=PC InvaderTCP 14502=PC InvaderTCP 14503=PC InvaderTCP 15000=NetDaemon 1.0TCP 15092=Host ControlTCP 15104=MstreamTCP 16484=MosuckerTCP 16660=Stacheldraht (DDoS)TCP 16772=ICQ RevengeTCP 16959=PriorityTCP 16969=PriorityTCP 17027=提供广告服务的Conducent"adbot"共享软件TCP 17166=MosaicTCP 17300=Kuang2 The VirusTCP 17490=CrazyNetTCP 17500=CrazyNetTCP 17569=Infector 1.4.x + 1.6.xTCP 17777=NephronTCP 18753=Shaft (DDoS)TCP 19191=蓝色火焰TCP 19864=ICQ RevengeTCP 20000=Millennium II (GrilFriend)TCP 20001=Millennium II (GrilFriend)TCP 20002=AcidkoRTCP 20034=NetBus 2 ProTCP 20168=LovgateTCP 20203=Logged,ChupacabraTCP 20331=BlaTCP 20432=Shaft (DDoS)TCP 20808=Worm.LovGate.v.QQTCP 21544=Schwindler 1.82,GirlFriendTCP 21554=Schwindler 1.82,GirlFriend,Exloiter 1.0.1.2 TCP 22222=Prosiak,RuX Uploader 2.0TCP 22784=Backdoor.IntruzzoTCP 23432=Asylum 0.1.3TCP 23456=Evil FTP, Ugly FTP, WhackJobTCP 23476=Donald DickTCP 23477=Donald DickTCP 23777=INet SpyTCP 26274=DeltaTCP 26681=Spy VoiceTCP 27374=Sub Seven 2.0+, Backdoor.BasteTCP 27444=Tribal Flood Network,TrinooTCP 27665=Tribal Flood Network,TrinooTCP 29431=Hack AttackTCP 29432=Hack AttackTCP 29104=Host ControlTCP 29559=TROJ_LATINUS.SVRTCP 29891=The UnexplainedTCP 30001=Terr0r32TCP 30003=Death,Lamers DeathTCP 30029=AOL trojanTCP 30100=NetSphere 1.27a,NetSphere 1.31TCP 30101=NetSphere 1.31,NetSphere 1.27aTCP 30102=NetSphere 1.27a,NetSphere 1.31TCP 30103=NetSphere 1.31TCP 30303=Sockets de TroieTCP 30947=IntruseTCP 30999=Kuang2TCP 21335=Tribal Flood Network,TrinooTCP 31336=Bo WhackTCP 31337=Baron Night,BO client,BO2,Bo Facil,BackFire,Back Orifice,DeepBO,Freak2k,NetSpyTCP 31338=NetSpy,Back Orifice,DeepBOTCP 31339=NetSpy DKTCP 31554=SchwindlerTCP 31666=BOWhackTCP 31778=Hack AttackTCP 31785=Hack AttackTCP 31787=Hack AttackTCP 31789=Hack AttackTCP 31791=Hack AttackTCP 31792=Hack AttackTCP 32100=PeanutBrittleTCP 32418=Acid BatteryTCP 33333=Prosiak,Blakharaz 1.0TCP 33577=Son Of PsychwardTCP 33777=Son Of PsychwardTCP 33911=Spirit 2001aTCP 34324=BigGluck,TN,Tiny Telnet Server TCP 34555=Trin00 (Windows) (DDoS)TCP 35555=Trin00 (Windows) (DDoS)TCP 36794=Worm.Bugbear-ATCP 37651=YATTCP 40412=The SpyTCP 40421=Agent 40421,Masters Paradise.96 TCP 40422=Masters ParadiseTCP 40423=Masters Paradise.97TCP 40425=Masters ParadiseTCP 40426=Masters Paradise 3.xTCP 41666=Remote BootTCP 43210=Schoolbus 1.6/2.0TCP 44444=Delta SourceTCP 44445=HappypigTCP 47252=ProsiakTCP 47262=DeltaTCP 47878=BirdSpy2TCP 49301=Online KeyloggerTCP 50505=Sockets de TroieTCP 50766=Fore, SchwindlerTCP 51966=CafeIniTCP 53001=Remote Windows ShutdownTCP 53217=Acid Battery 2000TCP 54283=Back Door-G, Sub7TCP 54320=Back Orifice 2000,SheepTCP 54321=School Bus .69-1.11,Sheep, BO2K TCP 57341=NetRaiderTCP 58008=BackDoor.TronTCP 58009=BackDoor.TronTCP 58339=ButtFunnelTCP 59211=BackDoor.DuckToyTCP 60000=Deep ThroatTCP 60068=Xzip 6000068TCP 60411=ConnectionTCP 60606=TROJ_BCKDOR.G2.ATCP 61466=TelecommandoTCP 61603=Bunker-killTCP 63485=Bunker-killTCP 65000=Devil, DDoSTCP 65432=Th3tr41t0r, The TraitorTCP 65530=TROJ_WINMITE.10TCP 65535=RC,Adore Worm/LinuxTCP 69123=ShitHeepTCP 88798=Armageddon,Hack OfficeUDP 1=Sockets des TroieUDP 9=ChargenUDP 19=ChargenUDP 69=PasanaUDP 80=PenroxUDP 371=ClearCase版本管理软件UDP 445=公共Internet文件系统(CIFS) UDP 500=Internet密钥交换UDP 1025=Maverick's Matrix 1.2 - 2.0 UDP 1026=Remote Explorer 2000UDP 1027=UC聊天软件,Trojan.Huigezi.e UDP 1028=KiLo,SubSARIUDP 1029=SubSARIUDP 1031=XotUDP 1032=Akosch4UDP 1104=RexxRaveUDP 1111=DaodanUDP 1116=LurkerUDP 1122=Last 2000,SingularityUDP 1183=Cyn,SweetHeartUDP 1200=NoBackOUDP 1201=NoBackOUDP 1342=BLA trojanUDP 1344=PtakksUDP 1349=BO dllUDP 1561=MuSka52UDP 1772=NetControleUDP 1978=SlapperUDP 1985=Black DiverUDP 2000=A-trojan,Fear,Force,GOTHIC Intruder,Last 2000,Real 2000 UDP 2001=ScalperUDP 2002=SlapperUDP 2015=raid-csUDP 2018=rellpackUDP 2130=Mini BackLashUDP 2140=Deep Throat,Foreplay,The InvasorUDP 2222=SweetHeart, WayUDP 2339=Voice SpyUDP 2702=Black DiverUDP 2989=RATUDP 3150=Deep ThroatUDP 3215=XHXUDP 3333=DaodanUDP 3801=EclypseUDP 3996=Remote AnythingUDP 4128=RedShadUDP 4156=SlapperUDP 4500=sae-urnUDP 5419=DarkSkyUDP 5503=Remote Shell TrojanUDP 5555=DaodanUDP 5882=Y3K RATUDP 5888=Y3K RATUDP 6112= GameUDP 6666=KiLoUDP 6667=KiLoUDP 6766=KiLoUDP 6767=KiLo,UandMeUDP 6838=Mstream Agent-handlerUDP 7028=未知木马UDP 7424=Host ControlUDP 7788=SingularityUDP 7983=MStream handler-agentUDP 8012=PtakksUDP 8090=Aphex's Remote Packet Sniffer UDP 8127=9_119,ChonkerUDP 8488=KiLoUDP 8489=KiLoUDP 8787=BackOrifice 2000UDP 8879=BackOrifice 2000UDP 9325=MStream Agent-handlerUDP 10000=XHXUDP 10067=Portal of DoomUDP 10084=SyphillisUDP 10100=SlapperUDP 10167=Portal of DoomUDP 10498=MstreamUDP 10666=AmbushUDP 11225=CynUDP 12321=ProtossUDP 12345=BlueIce 2000UDP 12378=W32/Gibe@MMUDP 12623=ButtMan,DUN ControlUDP 15210=UDP remote shell backdoor server UDP 15486=KiLoUDP 16514=KiLoUDP 16515=KiLoUDP 18753=Shaft handler to AgentUDP 20433=ShaftUDP 21554=GirlFriendUDP 22784=Backdoor.IntruzzoUDP 23476=Donald DickUDP 25123=MOTDUDP 26274=Delta SourceUDP 26374=Sub-7 2.1UDP 26444=Trin00/TFN2KUDP 26573=Sub-7 2.1UDP 27184=Alvgus trojan 2000UDP 27444=TrinooUDP 29589=KiLoUDP 29891=The UnexplainedUDP 30103=NetSphereUDP 31320=Little WitchUDP 31335=Trin00 DoS AttackUDP 31337=Baron Night, BO client, BO2, Bo Facil, BackFire, Back Orifice, DeepBOUDP 31338=Back Orifice, NetSpy DK, DeepBOUDP 31339=Little WitchUDP 31340=Little WitchUDP 31416=LithiumUDP 31787=Hack aTackUDP 31789=Hack aTackUDP 31790=Hack aTackUDP 31791=Hack aTackUDP 33390=未知木马UDP 34555=TrinooUDP 35555=TrinooUDP 43720=KiLoUDP 44014=IaniUDP 44767=School BusUDP 46666=TaskmanUDP 47262=Delta SourceUDP 47785=KiLoUDP 49301=OnLine keyLoggerUDP 49683=FensterUDP 49698=KiLoUDP 52901=OmegaUDP 54320=Back OrificeUDP 54321=Back Orifice 2000UDP 54341=NetRaider TrojanUDP 61746=KiLOUDP 61747=KiLOUDP 61748=KiLOUDP 65432=The Traitor当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。
(运营管理)电信运营支撑系统演变过程及概述
(运营管理)电信运营支撑系统演变过程及概述电信运营支撑系统演变过程及概述第一章:电信业务运营支撑系统概述0、序言1、电信业务运营支撑系统概述电信管理网(TMN)结构及演进2、电信运营及模型(TINA)3、电信管理论坛(TMF)与电信运行图(TOM/eTOM)4、国内电信业务运营支撑系统现状0、序言什么是电信运营:电信运营商利用自身的通信资源,提供给消费者通信服务,而获取利益。
运营的含义:网络和业务的运行、维护及经营。
电信运营的目的:提供更加优质的服务,获取更高的收益。
什么是电信服务?:网络服务,网络承载的基本业务、业务平台提供的增值业务,打包的电信产品(套餐),外包服务,。
什么是电信运营支撑系统?采用计算机的技术,支持电信业务的运营过程的计算机系统。
所引出的问题:如何“更快、更高、更准”:通信技术的不断进步;如:3G/Wimax、宽带技术,如何更好地分析、认识、挖掘市场,如何更准确地计量,如何更快地将电信服务交付给用户,同时、涉及到电信公司本身如何有效地管理。
电信运营支撑系统的特点:复杂、庞大,分布、协同、跨部门,异构研究电信运营支撑系统的意义:任何行业和领域都面临信息化建设的问题—共性问题—业务支撑,计算机应用的根本问题,促进计算机技术的发展—计算、软件1、电信业务运营支撑系统概述电信管理网(TMN)结构及演进电信业务运营支撑系统的概念目前在业界比较混乱,有多种定义如下:电信运营支撑系统OSS (Operating Support System),电信业务支撑系统BSS (Business Support System),电信业务运营支撑系统(BOSS),出于中国移动的概念其中:业务(business)源于TMN的术语。
目前国际上比较公认的叫法:OSS/BSS电信业务运营支撑系统(OSS/BSS)定义:是以市场为导向,面向电信业务和网络的运营支撑以及面向客户服务的企业经营支撑的计算机信息处理和管理系统。
十大入侵检测系统高风险事件及其对策
事件7、POP3服务暴力猜测口令攻击
POP3服务是常见网络邮件收取协议。
发现大量的POP3登录失败事件,攻击者可能正在尝试猜测有效的POP3服务用户名和口令,如果成功,攻击者可能利用POP3服务本身漏洞或结合其他服务相关的漏洞进一步侵害系统,也可能读取用户的邮件,造成敏感信息泄露。
1、临时处理方法:使用防火墙或Windows系统自带的TCP/IP过滤机制对TCP 135端口进行限制,限制外部不可信任主机的连接。
2、彻底解决办法:打安全补丁。
事件2、Windows系统下MSBLAST(冲击波)蠕虫传播
感染蠕虫的计算机试图扫描感染网络上的其他主机,消耗主机本身的资源及大量网络带宽,造成网络访问能力急剧下降。
邮件病毒感染了主机以后通常会向邮件客户端软件中保存的其他用户邮件地址发送相同的病毒邮件以扩大传染面。
此事件表示IDS检测到接收带可疑病毒附件邮件的操作,邮件的接收者很可能会感染某种邮件病毒,需要立即处理。
[对策]
1、通知隔离检查发送病毒邮件的主机,使用杀毒软件杀除系统上感染的病毒。
[对策]
1、首先断开计算机网络。
2、然后用专杀工具查杀毒。
3、最后打系统补丁
事件4、TELNET服务用户认证失败
TELNET服务往往是攻击者入侵系统的渠道之一。大多数情况下,合法用户在TELNET登录过程中会认证成功。如果出现用户名或口令无效等情况,TELNET服务器会使认证失败。如果登录用户名为超级用户,则更应引起重视,检查访问来源是否合法。如果短时间内大量出现TELNET认证失败响应,则说明主机可能在遭受暴力猜测攻击。
事件1、Windows 2000/XP RPC服务远程拒绝服务攻击
常用网络通信协议
常用网络通信协议物理层:DTE(Data Terminal Equipment):数据终端设备DCE(Data Communications Equipment):数据电路端接设备#窄宽接入:PSTN ( Public Switched Telephone Network )公共交换电话网络ISDN(Integrated Services Digital Network)ISDN综合业务数字网ISDN有6种信道:A信道 4khz模拟信道B信道 64kbps用于语音数据、调整数据、数字传真C信道 8kbps/16kbps的数字信道,用于传输低速数据D信道 16kbps数字信道,用于传输用户接入信令E信道 64kbps数字信道,用于传输内部信令H信道 384kbps高速数据传输数字信道,用于图像、视频会议、快速传真等. B代表承载, D代表Delta.ISDN有3种标准化接入速率:基本速率接口(BRI)由2个B信道,每个带宽64kbps和一个带宽16kbps的D信道组成。
三个信道设计成2B+D。
主速率接口(PRI) - 由很多的B信道和一个带宽64Kbps的D信道组成,B信道的数量取决于不同的国家:北美和日本: 23B+1D, 总位速率1.544 Mbit/s (T1)欧洲,澳大利亚:30B+2D,总位速率2.048 Mbit/s (E1)FR(Frame Relay)帧中继X.25 X.25网络是第一个面向连接的网络,也是第一个公共数据网络.#宽带接入:ADSL:(Asymmetric Digital Subscriber Line)非对称数字用户环路HFC(Hybrid Fiber-Coaxial)光纤和同轴电缆相结合的混合网络PLC:电力线通信技术#传输网:SDH:(Synchronous Digital Hierarchy)同步数字体系DWDM:密集型光波复用(DWDM:Dense Wavelength Division Multiplexing)是能组合一组光波长用一根光纤进行传送。
rpc 方法
rpc 方法RPC 方法。
RPC(Remote Procedure Call)是一种计算机通信协议,它允许程序在另一个地址空间(通常是另一台机器上)执行程序代码。
RPC 方法是一种用于实现远程过程调用的技术,它可以让客户端程序调用服务器端的函数或方法,就像调用本地函数一样。
在分布式系统中,RPC 方法扮演着至关重要的角色,它能够让分布在不同机器上的程序协同工作,实现数据共享和资源调用。
一、RPC 方法的原理。
RPC 方法的原理是基于客户端-服务器模型,客户端发起请求,服务器端响应并返回结果。
当客户端调用远程方法时,RPC 方法会将请求参数打包成消息,通过网络传输到服务器端,服务器端接收到消息后解包参数,执行相应的方法,然后将结果打包成消息返回给客户端,客户端接收到消息后解包结果,并进行相应的处理。
这个过程就是一次完整的远程过程调用。
二、RPC 方法的实现。
RPC 方法的实现通常包括以下几个步骤:1. 定义接口,首先需要定义客户端和服务器端的接口,包括接口名称、方法名称、参数列表、返回值等。
这样客户端和服务器端才能进行通信和调用。
2. 生成代理,客户端需要生成一个代理对象,用于封装远程方法的调用。
代理对象负责将方法调用转换成消息,并将消息发送给服务器端。
3. 传输消息,客户端将封装好的消息通过网络传输到服务器端,服务器端接收到消息后进行解包。
4. 执行方法,服务器端根据接收到的消息进行解包,并执行相应的方法。
5. 返回结果,服务器端执行完方法后,将结果打包成消息返回给客户端。
6. 解析结果,客户端接收到服务器端返回的消息后进行解包,得到最终的结果。
三、RPC 方法的优势。
RPC 方法具有以下几个优势:1. 透明性,RPC 方法让远程调用看起来就像是本地调用一样,客户端并不需要关心方法的具体实现和执行过程,这种透明性让远程调用变得更加简单和方便。
2. 灵活性,RPC 方法可以跨平台、跨语言,使得不同系统之间的通信变得更加灵活和方便。
rpc工作原理
rpc工作原理RPC(Remote Procedure Call)是一种用于实现远程过程调用的协议。
它允许一个计算机程序通过网络请求调用另一个计算机程序中的子程序,并获取返回值,就像是本地调用一样。
RPC的工作原理可以简单地分为四个步骤:封装、传输、解封装和执行。
在客户端程序中,远程过程调用需要将请求参数封装成标准格式。
这个过程被称为封装。
封装的目的是为了将请求参数按照一定的规则进行编码,使其能够被网络传输。
常用的编码方式有XML、JSON和Protocol Buffers等。
接下来,在客户端程序中,封装好的请求参数会被传输到服务端程序。
传输的方式可以是基于TCP/IP的Socket通信,也可以是HTTP协议等。
无论使用何种传输方式,都需要保证数据的完整性和安全性。
在服务端程序中,接收到客户端传输过来的请求参数后,需要对其进行解封装。
解封装的目的是将请求参数从网络传输的格式中解码出来,使其能够被服务端程序正常处理。
解封装的过程与封装的过程相反,需要按照相同的规则进行解码。
在服务端程序中,解封装完成后,就可以执行相应的子程序了。
执行的结果会被封装成标准格式,并通过网络传输到客户端程序。
客户端程序接收到结果后,会进行解封装,并获取到返回值。
通过以上四个步骤,RPC实现了远程过程的调用。
在这个过程中,客户端程序和服务端程序可以位于不同的机器上,它们之间通过网络进行通信。
由于网络传输的延迟和带宽等因素的存在,RPC的性能往往比本地调用要慢一些。
因此,在选择RPC框架时,需要根据实际需求进行权衡,选择合适的框架。
除了上述基本的工作原理外,RPC还有一些其他的特性和功能。
例如,RPC支持批量调用,可以将多个请求一次性发送到服务端,提高了网络的利用率。
同时,RPC还支持异步调用,可以在发送请求后继续处理其他任务,待结果返回后再进行处理。
此外,RPC还可以实现负载均衡和故障恢复等功能,提高了系统的可用性和可靠性。
中间件_1综述
山东大学计算机科学与技术学院
消息中间件
(Message-Oriented Middleware,
MOM)
山东大学计算机科学与技术学院
动机:RPC调用的缺点 (1)客户端与服务器端需要同时在线; (2)客户端需要知道服务器端的调用接口,若调用接口发生改
变,客户端需要做相应变化,如通过ODBC连接访问数据库,客户 端需要知道远程数据库的类型,若类型发生改变,还需要重新装 载相应的驱动程序。
( Coordiantor), 其 他 节 点 称 为 事 务 参 与 者 (Participants)。协调者掌握提交或撤消事务的决定 权,而其它参与者则各自负责本地数据的更新,并向协 调者提出撤消或提交子事务的意向。一般一个结点对应
一个子事务。
山东大学计算机科学与技术学院
常见的TPM产品有
BEA的Tuxedo Microsoft的MTS SUN的JTS OMG的OTS 东方通的TongLINK/TongEasy
结点或结点间通信的失效都可能导致分布式事务的失败。 因此,为了保证事务的完整性,分布式事务通常采用两 阶段提交协议(Two Phase Commitment Protocol,简称 2PC)来提交。 两阶段提交协议的思路是 TM向所有RM发出正式提交请 求之前,先询问所有RM是否已准备好提交,仅当所有的 RM都给出肯定的回答时,TM才发出提交的请求;如果其 中有一个RM给出否定地回答,TM就指示所有的RM进行回 卷。
山东大学计算机科学与技术学院
远程过程调用中间件
山东大学计算机科学与技术学院
本地过程调用的扩展,可透明地调用远地提供的服务 数据表示、可靠传递、服务定位等 分布式计算环境,DCE
山东大学计算机科学与技术学院
port(端口)大全
我们常常会在各类的技术文章中见到诸如135、137、139、443之类的“端口”,可是这些端口究竟有什么用呢?它会不会给我们的计算机带来潜在的威胁呢?究竟有多少端口是有用的?想要了解的话,就跟我来吧端口:0服务:R eserv ed说明:通常用于分析操作系统。
这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。
一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
端口:1服务:t cpmux说明:这显示有人在寻找SG I Iri x机器。
I rix是实现tcpm ux的主要提供者,默认情况下t cpmux在这种系统中被打开。
Irix机器在发布是含有几个默认的无密码的帐户,如:IP、G UESTUUCP、NUUCP、DEMO S 、TU TOR、D IAG、O UTOFB OX 等。
许多管理员在安装后忘记删除这些帐户。
因此H ACKER在INTE RNET上搜索tcp mux并利用这些帐户。
端口:7 服务:Ec ho说明:能看到许多人搜索Fragg le放大器时,发送到X.X.X.0和X.X.X.255的信息。
端口:19服务:C harac ter G enera tor 说明:这是一种仅仅发送字符的服务。
UDP版本将会在收到UDP包后回应含有垃圾字符的包。
TC P连接时会发送含有垃圾字符的数据流直到连接关闭。
H ACKER 利用IP欺骗可以发动DoS攻击。
伪造两个charg en服务器之间的UD P包。
同样Fragg le Do S攻击向目标地址的这个端口广播一个带有伪造受害者I P的数据包,受害者为了回应这些数据而过载。
windows rpc rpcserverlisten工作原理
windows rpc rpcserverlisten工作原理Windows RPC (Remote Procedure Call) 是一种在分布式系统中实现进程间通信的机制。
RPC 使得一个进程可以调用另一个进程的服务,就像调用本地函数一样。
其中的关键组件是RPCServerListen,它负责监听并处理来自其他进程的请求。
本文将逐步介绍Windows RPC 和RPCServerListen 的工作原理。
第一部分:RPC 概述首先,我们需要了解RPC 的基本概念。
RPC 是一种跨网络的通信方式,允许分布在不同计算机上的进程之间进行通信。
它的工作原理如下:1. 客户端调用本地代理(Stubs)进行请求。
2. 本地代理将请求打包并通过网络发送给远程服务。
3. 远程服务接收请求,执行相应的操作。
4. 远程服务将结果打包并返回给本地代理。
5. 本地代理将结果返回给客户端应用程序。
第二部分:RPC 组件RPC 包含以下核心组件:1. 客户端应用程序:发起调用并等待结果的进程。
2. 本地代理:客户端应用程序访问的本地组件,负责打包和发送请求。
3. 远程代理:运行在远程计算机上的中间组件,负责接收请求并将其分派给实际的服务处理程序。
4. 服务处理程序:真正执行请求的组件,可以是远程计算机上的进程或服务。
第三部分:RPCServerListen 的工作原理RPCServerListen 是Windows RPC 中的一个组件,负责监听并处理来自其他进程的请求。
它的主要工作包括以下几个步骤:1. 注册服务端口:RPCServerListen 首先需要在系统中注册一个服务端口,以便其他进程可以通过该端口发送请求。
2. 监听请求:一旦注册成功,RPCServerListen 开始监听该端口,等待其他进程的请求到达。
它使用系统底层的网络协议栈来监视端口上的数据流量。
3. 接收请求:当有请求到达时,RPCServerListen 会接收请求数据,并将其解析为一个可识别的格式。
黑客常用入侵端口详解
常见的入侵端口:端口:0服务:Reserved说明:通常用于分析操作系统。
这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。
一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
(我被这样入侵过,一般感觉计算机运行慢或是你感觉有问题存在,先去查ip,如果有入侵赶紧断掉网,如果晚了他可能就会盗取你很多帐号或资料.)端口:1服务:tcpmux说明:这显示有人在寻找SGI Irix机器。
Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。
Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。
许多管理员在安装后忘记删除这些帐户。
因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口:7服务:Echo说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
端口:19服务:Character Generator说明:这是一种仅仅发送字符的服务。
UDP版本将会在收到UDP包后回应含有垃圾字符的包。
TCP连接时会发送含有垃圾字符的数据流直到连接关闭。
HACKER利用IP欺骗可以发动DoS 攻击。
伪造两个chargen服务器之间的UDP包。
同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。
端口:21服务:FTP说明:FTP服务器所开放的端口,用于上传、下载。
最常见的攻击者用于寻找打开anonymous 的FTP服务器的方法。
这些服务器带有可读写的目录。
木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。
btc rpc 详解
btc rpc 详解
BTC RPC(Remote Procedure Call)是一种用于与比特币网络进行交互的协议。
通过RPC,开发人员可以发送请求到比特币节点,执行各种操作,如创建交易、查询余额、获取区块链信息等。
这些请求和响应都基于HTTP协议,并使用JSON-RPC进行数据传输。
要使用BTC RPC,首先需要在本地或远程服务器上安装比特币节点。
这可以通过从比特币官方网站下载并编译源代码,或者使用预编译的比特币核心客户端来完成。
安装完成后,需要在比特币节点的配置文件中启用RPC功能,并设置相应的用户名和密码。
一旦配置完成,开发人员就可以通过发送命令和接收响应来与比特币网络进行交互。
例如,使用“listreceivedbyaddress”命令可以列出指定地址收到的比特币,而“sendtoaddress”命令则可以向指定地址发送比特币。
此外,还可以使用“getblock”命令获取区块链上的特定区块信息,或者使用“getbalance”命令查询钱包余额。
除了基本的钱包操作外,BTC RPC还支持更高级的功能,如挖矿和区块链分析。
通过“getblocktemplate”命令,矿工可以获得新的交易并构造区块头进行挖矿。
而开发人员则可以使用“getrawtransaction”和“decoderawtransaction”等命令来分析区块链上的交易数据。
总之,BTC RPC为开发人员提供了与比特币网络进行交互的强大工具。
通过它,开发人员可以轻松地创建交易、查询余额、获取区块链信息,以及执行其他复杂的操作。
这使得比特币网络变得更加开放和可编程,为区块链技术的发展奠定了坚实的基础。
COM多线程模型、DCOM
进程外组件注意事项
自注册方式的变化
– 命令行参数/RegServer和/UnregServer
注册类厂 何时被卸载
调用CoInitialize和CoUninitialize
实现自定义接口的代理/存根组件
多线程特性
Win32线程和COM线程 marshaling和同步 套间线程
– 包含消息队列,当线程首次调用Win32 User或GDI 函数时产生 – 常常包含消息循环,组合GetMessage/ TranslateMessage/DispatchMessage
辅助线程(worker thread)
– 一条执行线索,没有UI,没有消息概念
COM线程
按照COM对象的执行环境,分为套间线程和 自由线程 套间线程(apartment thread)
非委托 IUnknown
复习:聚合
支持聚合的对象在聚合方式下的接口示意图
对象 B QueryInterface AddRef Release OtherFunction 对象 A QueryInterface AddRef Release SomeFunction 外部对象的 IUnknown 控制
进程内的STA和MTA
进程 STA
MTA
STA
进程内对象的线程模型
CLSID\{clsid}
– InprocServer32
• ThreadingModel = “Apartment”或“Free”、“Both”
DllGetClassObject和DllCanUnloadNow同步
当COM库创建对象时
– 如果客户线程模型与对象的要求一致 则在客户线程中创建对象,返回直接指针 – 如果客户线程模型与对象的要求不一致: COM会产生一个相应的线程供对象使用
DCErpc详解
);
}
Interface Attributes
[uuid(3d6ead56-06e3-11ca-8dd1-826901beabcd), version(1.0)]
• Uuid is required global unique identifier, created with ‘uuidgen’ command
• Run-time
– Responds to requests by stubs
• Data Conversion
– Handles differences between systems
IDL Compiler
• IDL is C-like language for specifying semantics of a procedure
• Compiles into stubs that are viewed as local procedures on each host
DCE RPC Run-time System
• Directory Services
– RPC not tied to specific machine name
unsigned32 status; rpc_binding_vector_t *binding_vector; /* Register interface with RPC runtime. */
rpc_server_register_if(greetif_v1_0_s_ifspec, NULL, NULL, &status); ERROR_CHECK(status, "Can't register interface"); /* Use all protocol sequences that are available. */ rpc_server_use_all_protseqs(rpc_c_protseq_max_reqs_default, &status); ERROR_CHECK(status, "Can't use protocol sequences"); /* Get the binding handles generated by the runtime. */ rpc_server_inq_bindings(&binding_vector, &status); ERROR_CHECK(status, "Can't get bindings for server");
Windows远程桌面爆出CredSSP漏洞
Windows远程桌⾯爆出CredSSP漏洞
Windows平台最新发现的Credential Security Support Provider protocol (CredSSP)漏洞,可以让⿊客利⽤远程桌⾯协议(RDP)和Windows远程管理器(WinRM)远程盗窃数据或运⾏恶意代码。
CredSSP协议最初是为了在Windows主机使⽤RDP或WinRM进⾏远程连接时提供加密认证。
这个漏洞(CVE-2018-0886)是由⼀家名为Preempt Security的⽹络安全公司的研究⼈员发现,在CredSSP协议中存在⼀个逻辑加密漏洞,⿊客可以通过⽆线连接,利⽤该漏洞发起中间⼈攻击;如果能物理连⼊⽹络,还可以发起远程调⽤攻击(Remote Procedure Call),盗取计算机进程中的认证信息。
当主机或服务器使⽤Windows⾃带的RDP或WinRM协议进⾏远程连接,⿊客的中间⼈攻击就可以远程执⾏恶意代码。
⼀旦⿊客获取了连接进程中的计算机账号登录认证信息,就拥有了管理员权限可以远程执⾏代码,由于Windows域控制器服务器默认状态下开启远程调⽤服务
(DCE/RPC),因此这个漏洞对于企业的域控制器⽽⾔⾮常致命。
⽽⼤多数企业的内部⽹络都会使⽤Windows RDP协议进⾏远程登录。
Preempt的研究⼈员去年8⽉向微软报告了这个漏洞,但直到本周⼆的补丁⽇,微软才发布了该漏洞的补丁。
如果⽤户的服务器是Windows操作系统,请尽快更新系统;平时尽量不要使⽤RDP和
DCE/RPC端⼝;远程登录时尽量不要使⽤管理员帐号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• Caller and callee may have different data representations
– Byte order – Structure – Character Set
• One solution: Convert to canonical form
– Conversion done everywhere
DCE RPC
• System independent
– Runs over multiple protocols – Core feature set implemented on each system
• Language independent
– Procedures declared in Interface Description Language
[out, string] char server_reply[REPLY_SIZE]
);
• First parameter is binding
– Explicit (if first parameter is type handle_t)
– From configuration file
– Automatic
• At-most-once
• Idempotent (safe to call more than once)
– Broadcast – try all servers, only one result to client
– Maybe – no response, no guarantee or notice of completion
);
}
Interface Attributes
[uuid(3d6ead56-06e3-11ca-8dd1-826901beabcd), version(1.0)]
• Uuid is required global unique identifier, created with ‘uuidgen’ command
Environment
• DCE: Evolved from CMU research project
– Same folks that produced AFS – Incorporates Kerberos, other research projects
• Includes several components for building distributed systems
• Compiles into stubs that are viewed as local procedures on each host
DCE RPC Run-time System
• Directory Services
– RPC not tied to specific machine name
Using defined interface:
Client
/* greet_client.c - Client of "greet" interface. usage: greet_client <CDS pathname>*/ #include <stdio.h> #include <dce/rpc.h> #include "greet.h“ #include "util.h" Int main(int argc, char *argv[]) {
/* greet.idl
* The "greet" interface. */
[uuid(3d6ead56-06e3-11ca-8dd1-826901beabcd), versic_includes.idl” */
/* type declarations (typedef) */
CS603 Communication Mechanisms
18 January 2002
What is coming
• Remote procedure call – specific systems
– DCE RPC – Java RMI – SOAP
• First project
Distributed Computing
rpc_ns_handle_t import_context; handle_t binding_h; error_status_t status; idl_char reply[REPLY_SIZE]; /* Start importing servers using the name specified on the command line. */ rpc_ns_binding_import_begin(rpc_c_ns_syntax_default, (unsigned_char_p_t) argv[1],
unsigned32 status; rpc_binding_vector_t *binding_vector; /* Register interface with RPC runtime. */
rpc_server_register_if(greetif_v1_0_s_ifspec, NULL, NULL, &status); ERROR_CHECK(status, "Can't register interface"); /* Use all protocol sequences that are available. */ rpc_server_use_all_protseqs(rpc_c_protseq_max_reqs_default, &status); ERROR_CHECK(status, "Can't use protocol sequences"); /* Get the binding handles generated by the runtime. */ rpc_server_inq_bindings(&binding_vector, &status); ERROR_CHECK(status, "Can't get bindings for server");
• DCE RPC: Leave in native form
– Tag with description of native form – Convert on demand – Conversion handled by stub
Building a DCE RPC Application
Sample IDL for message/reply RPC
greetif_v1_0_c_ifspec, NULL, &import_context, &status); ERROR_CHECK(status, "Can't begin import"); /* Import the first server (we could iterate here, but we'll just take the first one). */ rpc_ns_binding_import_next(import_context, &binding_h, &status); ERROR_CHECK(status, "Can't import"); /* Make the remote call. */ greet(binding_h, (idl_char *) "hello, server", reply); printf("The Greet Server said: %s\n", reply); }
Using defined interface:
Server
/* Register assigned endpoints with endpoint mapper. */ rpc_ep_register(greetif_v1_0_s_ifspec, binding_vector, NULL, (unsigned_char_p_t) "greet server version 1.0", &status); ERROR_CHECK(status, "Can't register with endpoint map");
• Includes some special network support
– Example: “Autobind” – declares that procedure will find an execute on another server should the first one fail
• Run-time
– Responds to requests by stubs
• Data Conversion
– Handles differences between systems
IDL Compiler
• IDL is C-like language for specifying semantics of a procedure
– Produces stubs that “stand in” for procedure on local system