A. RPC伺服器不可用該怎麼處理
運行services.msc,打開服務窗口,找到Remote
Procere
Call
(RPC),設置為自動+啟動,建議同時打開DCOM服務,試試吧!
B. 如何實現 RPC 框架的要點淺析
RPC 框架分層
我們可以對 RPC 框架進行抽絲剝繭,並從層次上把 RPC 分為四層:RPC 物理通訊層、
RPC 通訊協議層、RPC 連接會話層、RPC 應用層。
a. RPC 物理通訊層,根據實際用途可以選擇合適的實際物理通訊協議:
1). 可以使用 TCP 網路通訊協議,直接調用套接字 socket 介面函數或者 IOCP 接
口函數進行封裝;
2). 可以使用 UDP 網路通訊協議,但必須自己來維護數據包的時序、丟包重傳、以
及虛擬連接狀態。雖然使用 UDP 相對比較麻煩一點,但是 UDP 也有很多優點,
如:NAT 穿透相對容易、每包數據完整等等;
3). 可以使用 SHM 共享內存通信,用於同一主機不同進程之間的 RPC 調用,優點
是傳輸速度快,缺點是只能在同一主機上運行;
4). 可以使用第三方通訊模塊介面,如:藍牙、串口、USB連線介面等等。優點是可
以跨終端設備進行相互調用、缺點是受制於第三方通訊模塊介面。
b. RPC 通訊協議層就是通訊雙方的消息包定義,以及每種消息的數據組織,只需要負
責收發的數據流,具體如何收發數據由物理通訊層去處理。
1). 消息包 = <消息頭> + [消息體],也就是說由消息頭和消息體組成一個消息包;
2). 消息頭必須含有:消息包ID、消息類型、消息體長度、函數ID和調用返回碼。
消息頭若要做得更完善還可以添加檢驗碼等等,但消息頭所佔尺寸不宜太大,
否則 RPC 的調用開銷就更大了。
3). 消息類型至少含有以下幾種:
a). 心跳,含請求和應答;
b). 連接握手,含請求和應答;
c). 登錄應用,含請求和應答;
d). 登出應用,含請求和應答;
e). 取定義集,含請求和應答,即讀取已登錄應用的函數定義集;
f). 調用函數,含請求和應答;
g). 函數取消,即取消已提交的調用函數請求;
h). 函數確認,即函數返回結果確認;
i). 發送數據,用於擴展 RPC 為數據包通訊。
c. RPC 連接會話層,負責通訊雙方的連接狀態管理,包括以下幾個方面:
1). 通過連接握手來確認會話雙方的合法性;
2). 通過心跳維護連接在線情況;
3). 通過登錄應用來獲取對方應用提供的函數定義集,只有知道函數的參數和返回
值定義才可以調用函數,函數定義是參數和返回值的序列化/反序列化前提;
4). 通過登出應用來關閉對端提供的函數調用;
5). 管理函數調用的整個生命周期;
6). 管理發送數據包緩沖隊列、以及接收到數據包的處理。
d. RPC 應用層,負責應用內的函數定義、管理連接的登錄登出、分配函數調用請求。
1). 在函數定義中,函數參數和返回值的數據類型要支持足夠多,不同數據類型可
以便於數據展示,也增加了 RPC 框架的靈活性。同時被 RPC 調用的函數回調
類型要支持多種調用方式,可以適用於更多開發語言。
2). 在連接登錄到應用後才可以接受函數調用請求,當連接登出應用後自動取消此
連接的所有函數調用請求;
3). 應用需要管理運行線程,用於執行已分配的函數調用請求。
C. 如何利用共享內存 實現rpc調用
關於RPC 路由器的實現主要分布在smd_rpcrouter.c、smd_rpcrouter_device.c、smd_rpcrouter_servers.c、smd_rpcrouter_clients.c等文件中。RPC路由器起著RPC伺服器查詢、RPC伺服器和RPC客戶端的注冊和銷毀,以及底層通信的封裝功能,類似於TCP協議。
在實際的實現中,RPC路由器和RPC伺服器均是作為一個虛擬的字元型設備來存在的。
下面是RPC路由器的創建過程:
代碼3-11 RPC 路由器的創建過程
int msm_rpcrouter_init_devices(void)
{
int rc;
int major;
msm_rpcrouter_class=class_create(THIS_MODULE,
"oncrpc"); //創建設備節點
if (IS_ERR(msm_rpcrouter_class)) {
rc=-ENOMEM;
printk(KERN_ERR
"rpcrouter: failed to create oncrpc class ");
goto fail;
}
rc=alloc_chrdev_region(&msm_rpcrouter_devno,
0, //作為字元型設備分配資源
RPCROUTER_MAX_REMOTE_SERVERS + 1, "oncrpc");
if (rc<0) {
printk(KERN_ERR
"rpcrouter: Failed to alloc chardev region (%d) ", rc);
goto fail_destroy_class;
}
major=MAJOR(msm_rpcrouter_devno);
rpcrouter_device=device_create(msm_
rpcrouter_class, NULL, //創建設備
msm_rpcrouter_devno, NULL, "%.8x:%d",
0, 0);
if (IS_ERR(rpcrouter_device)) {
rc=-ENOMEM;
goto fail_unregister_cdev_region;
}
cdev_init(&rpcrouter_cdev, &rpcrouter_
router_fops); //字元型設備初始化
rpcrouter_cdev.owner=THIS_MODULE;
rc=cdev_add(&rpcrouter_cdev, msm_rpcrouter_devno, 1);
if (rc<0)
goto fail_destroy_device;
return 0;
fail_destroy_device:
device_destroy(msm_rpcrouter_class,
msm_rpcrouter_devno);//銷毀設備
fail_unregister_cdev_region:
unregister_chrdev_region(msm_rpcrouter_devno, //去注冊
RPCROUTER_MAX_REMOTE_SERVERS + 1);
fail_destroy_class:
class_destroy(msm_rpcrouter_class);
fail:
return rc;
}
D. 如何 在自己的路由器上封掉TCP/445等RPC DCOM能利用的相關埠 要具體方法 急
你的路由有埠過濾功能嗎?
E. 在安裝惠普列印機的驅動程序的時候,系統提示出現:安裝設備時,出現一個錯誤 RPC 伺服器不可用
安裝軟體時,出現「安裝程序啟動安裝引擎失敗,rpc伺服器不可用」的解決辦法。一般的情況下是DCOM Server Process Launcher 服務被關閉了,把它重新打開就好了!如果還不行,就要考慮以下下幾點: 1、是否中了沖擊波病毒?查殺病毒。2、重新啟動RPC的方法,參考:大家 還記得肆虐一時的"沖擊波"病毒吧?它利用RemoteProcereCall(簡稱RPC)服務的DCOM漏洞攻擊基於NT內核的Windows 2000/XP/2003操作系統,很多用戶為了躲避它的攻擊,禁用了RPC服務。但當他們想再次啟用RPC服務時卻發現"RPC服務屬性"頁的"啟動類型"下拉列表框和"啟動"按鈕變成了灰色,甚至根本找不到該服務的屬性頁。由於Windows服務之間有很強的相互依存關系,當RPC服務被禁用後,很多依賴於RPC服務的系統服務也不能正常運行(見圖),如Messenger服務、Windows Installer服務等;另外,還可能導致某些應用程序運行失敗和系統異常。下面筆者就介紹三種啟動該服務的方法。方法一:修改注冊表法點擊"開始→運行",鍵入"Regedit"打開"注冊表編輯器",展開分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RpcSs",將Start項的值修改為"00000002",重新啟動系統即可。方法二:使用sc.exe命令點擊"開始→運行",鍵入"cmd"進入"命令提示符"窗口,鍵入"sc config RpcSs start= auto"命令,系統會顯示"SC ChangeServiceConfig SUCCESS",這樣就可以成功啟動RPC服務。注意:要想使用"sc"命令必須安裝Windows 2000/2003 Resource Kit(資源工具包),否則使用該命令無效。方法三:使用故障恢復控制台以Windows XP系統為例,在光碟機中放入安裝光碟,並且在BIOS參數中設置為從CD-ROM啟動;啟動電腦後,系統進入到Windows XP安裝界面,按下"R"鍵登錄到故障恢復控制台。在故障恢復控制台下,鍵入"enable RpcSs service_auto_start"命令,然後再鍵入"exit"命令,重新啟動系統,以正常模式登錄,即可成功啟動RPC服務。注意:"Enable"是故障恢復控制台提供的一個用來啟動系統服務和設備驅動程序的命令,只能在故障恢復控制台下使用。參考資料: http://www.hp-hp.cn更精彩
F. 系統提示一個錯誤,RPC伺服器不可用是什麼意思
RPC伺服器不可用意思是無法連接到遠程的服務,解決方法是檢查網路連接情況。
RPC伺服器指的是遠程過程調用協議:一種通過網路從遠程計算機程序上請求服務,而不需要了解底層網路技術的協議。
RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通信程序之間攜帶信息數據。在OSI網路通信模型中,RPC跨越了傳輸層和應用層。RPC使得開發包括網路分布式多程序在內的應用程序更加容易。
(6)rpc設備過濾擴展閱讀
RPC採用客戶機/伺服器模式。請求程序就是一個客戶機,而服務提供程序就是一個伺服器。
首先,調用進程發送一個有進程參數的調用信息到服務進程,然後等待應答信息。在伺服器端,進程保持睡眠狀態直到調用信息的到達為止。
當一個調用信息到達,伺服器獲得進程參數,計算結果,發送答復信息,然後等待下一個調用信息,最後,客戶端調用過程接收答復信息,獲得進程結果,然後調用執行繼續進行。
G. CAD不能列印,錯誤顯示RPC伺服器不可用,請問怎麼解決
看來有可能中毒了,否則RPC服務不會意外終止的.
你到控制面板-管理工具-服務里頭找到Remote Procere Call (RPC)服務,看看是否處於禁止狀態,啟動再看一下.
很多服務包括區域網列印機共享功能都依賴RPC服務的,這是一個非常重要的系統服務.
H. RPC服務不可用,解決辦法!!!
RPC:遠程過程調用協議
(RPC:Remote Procere Call protocol)
遠程過程調用(RPC)是一種通過網路從遠程計算機程序上請求服務,而不需要了解底層網路技術的協議。RPC 協議假定某些傳輸協議的存在,如 TCP 或 UDP,為通信程序之間攜帶信息數據。在 OSI 網路通信模型中,RPC 跨越了傳輸層和應用層。RPC 使得開發包括網路分布式多程序在內的應用程序更加容易。
RPC 採用客戶機/伺服器模式。請求程序就是一個客戶機,而服務提供程序就是一個伺服器。首先,調用進程發送一個有進程參數的調用信息到服務進程,然後等待應答信息。在伺服器端,進程保持睡眠狀態直到調用信息的到達為止。當一個調用信息到達,伺服器獲得進程參數,計算結果,發送答復信息,然後等待下一個調用信息,最後,客戶端調用過程接收答復信息,獲得進程結果,然後調用執行繼續進行。
目前,有多種 RPC 模式和執行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC PRC 協議成為 IETF 標准協議。現在使用最普遍的模式和執行是開放式軟體基礎的分布式計算環境(DCE)。
協議結構
遠程過程調用(RPC)信息協議由兩個不同結構組成:調用信息和答復信息。信息流程如下所示:
RPC:遠程過程調用流程
RPC 調用信息:每條遠程過程調用信息包括以下無符號整數欄位,以獨立識別遠程過程:
程序號(Program number)
程序版本號(Program version number)
過程號(Procere number)
RPC 調用信息主體形式如下:
struct call_body {
unsigned int rpcvers;
unsigned int prog;
unsigned int vers;
unsigned int proc;
opaque_auth cred;
opaque_auth verf;
1 parameter
2 parameter . . .
};
RPC 答復信息:RPC 協議的答復信息的改變取決於網路伺服器對調用信息是接收還是拒絕。答復信息請求包括區別以下情形的各種信息:
RPC 成功執行調用信息。.
RPC 的遠程實現不是協議第二版,返回 RPC 支持的最低和最高版本號。
在遠程系統中,遠程程序不可用。
遠程程序不支持被請求的版本號。返回遠程程序所支持的最低和最高版本號。
請求的過程號不存在。通常是呼叫方協議或程序差錯。
RPC答復信息形式如下:
enum reply_stat stat {
MSG_ACCEPTED = 0,
MSG_DENIED = 1
};
相關協議
組織來源
相關鏈接 http://www.javvin.com/protocol/rfc1831.pdf:RPC - Remote Procere Call Protocol Specification Version 2 (ONC version)
http://www.javvin.com/protocol/rfc1057.pdf:RPC - Remote Procere Call Protocol Specification Version 2 (Sun version)
The IEEE defines RPC in its ISO Remote Procere Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC, November 1991.
I. win7開機提示RPC伺服器啊可用,所有模式都進不了系統,有高手知道如何
終極密碼破解方案:(最適合解除Win各個系統密碼)
通過製作「電腦店」U盤啟動盤來破解WINDOWS系統密碼。
准備好一個大於4GB的U盤,格式化。
1、從電腦店U盤工具官方網站u.diannaodian.com -下載電腦店U盤啟動製作工具V6.3到電腦。
2、在電腦上運行電腦店U盤啟動製作工具V6.3程序,之前請盡量關閉殺毒軟體和安全類軟體(本軟體涉及對可移動磁碟的讀寫操作,部分殺軟的誤報可能會導致製作失敗!)本軟體下載完成之後Windows XP系統下直接雙擊運行即可,Windows Vista或Windows7/8系統請點右鍵以管理員身份運行。
U盤啟動製作:
1默認模式:
默認模式1.1:打開主程序,插入U盤/SD卡等可移動設備,在磁碟列表裡會自動列出當前電腦中所有的可移動磁碟的盤符、型號、容量等信息。
默認模式1.2:選擇你要製作啟動的可移動磁碟,啟動模式USB-HDD或USB-ZIP可選,默認採用USB-HDD模式。(chs模式主要針對某些不能檢測的Bios,一般不需要勾選此項!如果你想把U盤剩餘部分轉成NTFS格式可以勾選NTFS選項,注意:格式化成NTFS會影響U盤啟動部分功能的使用,除非需要存儲超過4G的單文件,否則不建議勾選此項!)
默認模式1.3:盡量退出殺毒軟體和安全類軟體以免製作失敗,點擊「一鍵製作啟動U盤」按鈕,程序會提示是否繼續,確認所選U盤無重要數據後點是開始製作.
(注意:使用電腦店U盤啟動盤製作工具2.0以及之前版本製作過的U盤如果製作失敗請先執行初始化U盤)
默認模式1.4:製作過程根據電腦配置和U盤晶元的不同耗時長短也不同,請耐心等待。製作完成後正確設置電腦BIOS即可從U盤啟動了。為了驗證U盤啟動製作是否成功,可以運行模擬啟動。
註:模擬啟動僅供測試U盤啟動是否製作成功,不可用於測試內部DOS和PE系統。
製作U盤啟動盤完成後,重啟電腦,通過BIOS,設置U盤為第一啟動順位,重新開機,選擇U盤啟動,回車,進入電腦店U盤啟動功能界面,在菜單里選擇:【8】運行Windows登錄密碼破解菜單,回車,然後選擇:【1】或者【2】來進行密碼清除或者修改,即可。
J. 服務 RPC Endpoint Mapper可以禁止嗎
RPC,作為終結點映射程序(endpoint mapper)和 COM 服務控制管理器使用。如果此服務被停用或禁用,使用 COM 或遠程過程調用(RPC)服務的程序工作將不正常。