狠狠操夜夜甜|人妻在线中文字幕亚洲无码不卡av|一区二区欧美亚洲|日躁夜躁狠狠躁2001|亚洲,超碰,欧美|18AV成人电影|午夜成人免费在线|婷婷激情网深爱五月|色欲综合成人在线|在线美女搞黄大片

中企動(dòng)力 > 頭條 > 客戶端服務(wù)器

網(wǎng)站性能檢測(cè)評(píng)分

注:本網(wǎng)站頁(yè)面html檢測(cè)工具掃描網(wǎng)站中存在的基本問題,僅供參考。

客戶端服務(wù)器

傳智播客鄭州校區(qū)深入解讀WebSocket協(xié)議 企業(yè)視頻課程

對(duì)于所有基于服務(wù)端的C/S應(yīng)用,傳智播客的老師們認(rèn)為:http請(qǐng)求僅支持請(qǐng)求-響應(yīng)模式,限制太大,服務(wù)器無法主動(dòng)發(fā)送消息給客戶端,WebSocket協(xié)議既可以由服務(wù)端發(fā)起消息,也可以由客戶端發(fā)起請(qǐng)求。

對(duì)此,傳智播客鄭州校區(qū)的老師整理出了HTTP協(xié)議與WebSocket協(xié)議聲明周期的比較示意圖:

websocket是基于http協(xié)議的擴(kuò)展,支持長(zhǎng)連接。服務(wù)器端需要tomcat7以上

協(xié)議請(qǐng)求地址測(cè)試 publicstaticfinalStringWEBSOCKET="ws://qp.hystudio.cn:9000";

網(wǎng)頁(yè)測(cè)試地址:http://qp.hystudio.cn:9000/service/service.htm

如果多個(gè)客戶端同時(shí)使用支持WEBSOCKET的服務(wù)端,該如何連接?傳智播客鄭州校區(qū)為大家整理的連接方式如下:

傳智播客為使用WEBSOCKET提供的步驟如下:

1/創(chuàng)建一個(gè)websocket連接對(duì)象

mConnection=newWebSocketConnection();

2/創(chuàng)建監(jiān)聽器繼承WebSocketConnectionHandler

publicclassWebSocketConnectListenerextendsWebSocketConnectionHandler{}

3/需要和服務(wù)器創(chuàng)建消息通道,用于和服務(wù)器的數(shù)據(jù)交互,可以發(fā)送和接收數(shù)據(jù)

publicvoidconnect(){

if(!isConnect()){

connectListener=newWebSocketConnectListener(context,mConnection,message,listener);

try{

mConnection.connect(WebSocket+path,connectListener);

}catch(WebSocketExceptione){

e.printStackTrace();

}

}

}

4/與服務(wù)器發(fā)送消息前需要判斷是否連接

publicbooleanisConnect(){

if(mConnection==null)returnfalse;

returnmConnection.isConnected();

}

5/客戶端與服務(wù)器連接成功后測(cè)試發(fā)送消息接口

publicvoidsendTextMessage(StringsendText){

if(mConnection==null){

return;

}

connect();

mConnection.sendTextMessage(sendText);

}

6/由于是基于http協(xié)議。也可以作為普通的request請(qǐng)求使用

//連接建立成功

@Override

publicvoidonOpen(){

super.onOpen();

LogUtils.d("%s","WebSocketConnectListenerconnect");

connection.sendTextMessage(message);

}

//連接斷開(一般情況下是由于網(wǎng)絡(luò)斷開,或者請(qǐng)求參數(shù)出錯(cuò))

@Override

publicvoidonClose(intcode,Stringreason){

super.onClose(code,reason);

LogUtils.d("%s","WebSocketConnectListenerlost");

if(this.listener!=null){

this.listener.onClose(code,reason);

}

}

//收到服務(wù)器消息時(shí)使用

@Override

publicvoidonTextMessage(Stringpayload){

super.onTextMessage(payload);

LogUtils.d("%s","payload="+payload);

if(this.listener!=null){

this.listener.onSuccess(payload);

}

}

作為一個(gè)普通的請(qǐng)求方式,類似http請(qǐng)求方式。這里自定義協(xié)議對(duì)象,封裝請(qǐng)求參數(shù)后進(jìn)行請(qǐng)求

IRequesttokenRequest=newTokenRequest(context,App.getInstance().getDeviceId(),newIRequestListener(){

@Override

publicvoidonSuccess(Stringpayload){

TokenResponseresponse=JsonUtils.fromJson(payload,TokenResponse.class);

if(response.isRequestSuccssful()){

DBAdapter.getInstance().addToken(response.toToken());

App.getInstance().setToken(response.toToken());

setToken(response.toToken().getToken());

request.request();

}else{

SnackbarUtils.show((Activity)context,R.string.device_unauth);

}

}

@Override

publicvoidonClose(intcode,Stringreason){

}

});

tokenRequest.request();

這里TokenRequest對(duì)象僅僅是封裝了協(xié)議請(qǐng)求參數(shù)。詳細(xì)如下

@Path(Constants.Path.TOKENPATH)

publicclassTokenRequestextendsIRequest{

privateStringdeviceId;

publicTokenRequest(Contextcontext,StringdeviceID,IRequestListenerlistener){

super(context,listener);

this.deviceId=deviceID;

}

@Override

protectedStringprapareMsg(){

return"{"+"deviceId:"+deviceId+"}";

}

}

以上是WEBSOCKET協(xié)議完成了一次普通的http請(qǐng)求。它最大的優(yōu)勢(shì)是和服務(wù)端建立的雙向通道,既可以由客戶端發(fā)起請(qǐng)求,也可以由服務(wù)端發(fā)起請(qǐng)求。之前的自主研發(fā)消息推送基本上都是基于客戶端輪詢的方式,效率低并且浪費(fèi)資源。此外,HTTP請(qǐng)求的請(qǐng)求頭很長(zhǎng),雖然和服務(wù)器建立連接時(shí)可能發(fā)送的是一個(gè)很少的數(shù)據(jù),但這樣也占用了服務(wù)器資源。然而,WEBSOCKET在服務(wù)端和客戶端之間的標(biāo)頭信息很小,而且還可以降低服務(wù)端的資源浪費(fèi)。

所以,傳智播客鄭州校區(qū)也希望大家在工作中能夠抓住相關(guān)問題的關(guān)鍵,了解編程技術(shù)的本質(zhì),那么在以后的工作中就會(huì)很輕松。另外,如果你想了解編程,想學(xué)習(xí)IT,那么就來傳智播客鄭州校區(qū)吧!

相關(guān)新聞

2016-03-10

2016-10-12

2017-03-20

2017-05-15

2017-11-15

特斯拉等百余家車廠機(jī)密數(shù)據(jù)泄露 營(yíng)銷視頻課程

img

薄情

關(guān)注
DoNews7月23日消息(記者費(fèi)倩文)網(wǎng)絡(luò)安全公司UpGuard的安全研究員Vickery報(bào)告稱,包括通用汽車、菲亞特克萊斯勒、福特、特斯拉、豐田、大眾等100多家車廠的機(jī)密數(shù)據(jù)被泄露,涉及機(jī)密文件47000個(gè)。

Vickery表示,這100多家公司均有著一家名為L(zhǎng)evelOneRoboticsandControls的服務(wù)器提供商,他在這家公司的備份服務(wù)器上找到了這些數(shù)據(jù)。

Vickery稱,該服務(wù)器提供商使用了一種用于備份大型數(shù)據(jù)集的通用文件傳輸協(xié)議rsync,由于沒有設(shè)定任何安全密碼保護(hù)措施,通過該傳輸協(xié)議,用戶可無障礙訪問其中的隱私數(shù)據(jù),而且,連接到rsync端口的任何客戶端都有權(quán)下載數(shù)據(jù)。(完)



從單一到混合 DDoS攻擊方式全面剖析 互聯(lián)網(wǎng)視頻課程

img

鄒元柏

關(guān)注
DDoS攻擊素來以成本低廉(相比防御)、效果顯著、影響深遠(yuǎn)為攻擊者所青睞,經(jīng)過長(zhǎng)時(shí)間的發(fā)展,DDoS攻擊方式有很多種,最基本的DoS攻擊利用單個(gè)合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,從而使合法用戶無法得到服務(wù)的響應(yīng)。DoS攻擊通常采用一對(duì)一的方式,在目標(biāo)系統(tǒng)帶寬、內(nèi)存、CPU等各項(xiàng)性能指標(biāo)都不高時(shí),具有明顯的效果。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算機(jī)的處理能力迅速增長(zhǎng),內(nèi)存大大增加,千兆級(jí)別的網(wǎng)絡(luò)出現(xiàn),目標(biāo)系統(tǒng)的“消化能力”倍增,這時(shí)候,分布式的拒絕服務(wù)攻擊手段——DDoS就出現(xiàn)了。

利用網(wǎng)絡(luò)上已被攻陷的電腦作為“肉雞”,通過一定方式組合形成數(shù)量龐大的“僵尸網(wǎng)絡(luò)”,采用一對(duì)多的方式進(jìn)行控制,向目標(biāo)系統(tǒng)同時(shí)提出服務(wù)請(qǐng)求,殺傷力大幅度增加。DDoS攻、防對(duì)抗多年,從DoS到DDoS,從以流量取勝到以技巧取勝,從單一攻擊到混合攻擊,攻擊手段正不斷進(jìn)化,本文將一一介紹最常見、最具代表性的攻擊方式,企業(yè)運(yùn)營(yíng)者做到知己知彼,才能有備無患。

一、攻擊帶寬:以力取勝

如同城市堵車一樣,當(dāng)數(shù)據(jù)包超過帶寬上限,就會(huì)出現(xiàn)網(wǎng)絡(luò)擁堵、響應(yīng)緩慢的情況。流量型DDoS攻擊就是如此,發(fā)送海量數(shù)據(jù)包,頃刻占滿目標(biāo)系統(tǒng)的全部帶寬,正常請(qǐng)求被堵在門外,拒絕服務(wù)的目的達(dá)成。

ICMPFlood

ICMP(Internet控制報(bào)文協(xié)議)用于在IP主機(jī)、路由器之間傳遞控制消息,控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息,雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。通過對(duì)目標(biāo)系統(tǒng)發(fā)送海量數(shù)據(jù)包,就可以令目標(biāo)主機(jī)癱瘓,如果大量發(fā)送就成了洪水攻擊。

UDPFlood

UDP協(xié)議是一種無連接的服務(wù),在UDPFlood中,攻擊者通常發(fā)送大量偽造源IP地址的小UDP包沖擊DNS服務(wù)器或Radius認(rèn)證服務(wù)器、流媒體視頻服務(wù)器。100kbps的UDPFlood經(jīng)常將線路上的骨干設(shè)備例如防火墻打癱,造成整個(gè)網(wǎng)段的癱瘓。

上述傳統(tǒng)的流量型攻擊方式技術(shù)含量較低,傷人一千自損八百,攻擊效果通常依賴受控主機(jī)本身的網(wǎng)絡(luò)性能,而且容易被查到攻擊源頭,單獨(dú)使用的情況已不常見。于是,具有四兩拔千斤效果的反射型放大攻擊就出現(xiàn)了。

NTPFlood

NTP是標(biāo)準(zhǔn)的基于UDP協(xié)議傳輸?shù)木W(wǎng)絡(luò)時(shí)間同步協(xié)議,由于UDP協(xié)議的無連接性,方便偽造源地址。攻擊者使用特殊的數(shù)據(jù)包,也就是IP地址指向作為反射器的服務(wù)器,源IP地址被偽造成攻擊目標(biāo)的IP,反射器接收到數(shù)據(jù)包時(shí)就被騙了,會(huì)將響應(yīng)數(shù)據(jù)發(fā)送給被攻擊目標(biāo),耗盡目標(biāo)網(wǎng)絡(luò)的帶寬資源。一般的NTP服務(wù)器都有很大的帶寬,攻擊者可能只需要1Mbps的上傳帶寬欺騙NTP服務(wù)器,就可給目標(biāo)服務(wù)器帶來幾百上千Mbps的攻擊流量。

因此,“問-答”方式的協(xié)議都可以被反射型攻擊利用,將質(zhì)詢數(shù)據(jù)包的地址偽造為攻擊目標(biāo)地址,應(yīng)答的數(shù)據(jù)包就會(huì)都被發(fā)送至目標(biāo),一旦協(xié)議具有遞歸效果,流量就被顯著放大了,堪稱一種“借刀殺人”的流量型攻擊。

面對(duì)洪水般的流量,花高價(jià)進(jìn)行抗D帶寬擴(kuò)容和多運(yùn)營(yíng)商鏈路冗余,雖一定程度可提升抗D能力,但面對(duì)大量攻擊仍舊于事無補(bǔ),而且浪費(fèi)資源。知道創(chuàng)宇旗下抗DDoS云防御平臺(tái)——抗D保,橫跨全國(guó)的分布式數(shù)據(jù)中心,600G以上帶寬抗DDoS,并可隨時(shí)應(yīng)急調(diào)用騰訊自有帶寬1.5Tb,這使得抗D保擁有超過2個(gè)Tb的防御能力。 

二、攻擊系統(tǒng)/應(yīng)用:以巧取勝

這類型的DDoS攻擊走的是巧勁,利用各種協(xié)議的行為特性、系統(tǒng)的缺陷、服務(wù)的脆弱性、軟件的漏洞等等發(fā)起攻擊,不斷占用目標(biāo)系統(tǒng)的資源以阻止它們處理正常事務(wù)和請(qǐng)求。

SYNFlood

這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請(qǐng)求,從而使得被攻擊方資源耗盡(CPU滿負(fù)荷或內(nèi)存不足)的攻擊方式。建立TCP連接,需要三次握手——客戶端發(fā)送SYN報(bào)文,服務(wù)端收到請(qǐng)求并返回報(bào)文表示接受,客戶端也返回確認(rèn),完成連接。

SYNFlood就是用戶向服務(wù)器發(fā)送報(bào)文后突然死機(jī)或掉線,那么服務(wù)器在發(fā)出應(yīng)答報(bào)文后就無法收到客戶端的確認(rèn)報(bào)文(第三次握手無法完成),這時(shí)服務(wù)器端一般會(huì)重試并等待一段時(shí)間后再丟棄這個(gè)未完成的連接。一個(gè)用戶出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線程等待一會(huì)兒并不是大問題,但惡意攻擊者大量模擬這種情況,服務(wù)器端為了維護(hù)數(shù)以萬計(jì)的半連接而消耗非常多的資源,結(jié)果往往是無暇理睬客戶的正常請(qǐng)求,甚至崩潰。從正??蛻舻慕嵌瓤磥?,網(wǎng)站失去了響應(yīng),無法訪問。

CC 攻擊

CC攻擊是目前應(yīng)用層攻擊的主要手段之一,借助代理服務(wù)器生成指向目標(biāo)系統(tǒng)的合法請(qǐng)求,實(shí)現(xiàn)偽裝和DDoS。我們都有這樣的體驗(yàn),訪問一個(gè)靜態(tài)頁(yè)面,即使人多也不需要太長(zhǎng)時(shí)間,但如果在高峰期訪問論壇、貼吧等,那就很慢了,因?yàn)榉?wù)器系統(tǒng)需要到數(shù)據(jù)庫(kù)中判斷訪問者否有讀帖、發(fā)言等權(quán)限。訪問的人越多,論壇的頁(yè)面越多,數(shù)據(jù)庫(kù)壓力就越大,被訪問的頻率也越高,占用的系統(tǒng)資源也就相當(dāng)可觀。

CC攻擊就充分利用了這個(gè)特點(diǎn),模擬多個(gè)正常用戶不停地訪問如論壇這些需要大量數(shù)據(jù)操作的頁(yè)面,造成服務(wù)器資源的浪費(fèi),CPU長(zhǎng)時(shí)間處于100%,永遠(yuǎn)都有處理不完的請(qǐng)求,網(wǎng)絡(luò)擁塞,正常訪問被中止。這種攻擊技術(shù)性含量高,見不到真實(shí)源IP,見不到特別大的異常流量,但服務(wù)器就是無法進(jìn)行正常連接。

之所以選擇代理服務(wù)器是因?yàn)榇砜梢杂行У仉[藏自己的身份,也可以繞開防火墻,因?yàn)榛旧纤械姆阑饓Χ紩?huì)檢測(cè)并發(fā)的TCP/IP連接數(shù)目,超過一定數(shù)目一定頻率就會(huì)被認(rèn)為是Connection-Flood。當(dāng)然也可以使用肉雞來發(fā)動(dòng)CC攻擊,攻擊者使用CC攻擊軟件控制大量肉雞發(fā)動(dòng)攻擊,肉雞可以模擬正常用戶訪問網(wǎng)站的請(qǐng)求偽造成合法數(shù)據(jù)包,相比前者來說更難防御。

CC攻擊是針對(duì)Web服務(wù)在第七層協(xié)議發(fā)起的攻擊,在越上層協(xié)議上發(fā)動(dòng)DDoS攻擊越難以防御,上層協(xié)議與業(yè)務(wù)關(guān)聯(lián)愈加緊密,防御系統(tǒng)面臨的情況也會(huì)更復(fù)雜。比如CC攻擊中最重要的方式之一HTTPFlood,不僅會(huì)直接導(dǎo)致被攻擊的Web前端響應(yīng)緩慢,對(duì)承載的業(yè)務(wù)造成致命的影響,還可能會(huì)引起連鎖反應(yīng),間接攻擊到后端的Java等業(yè)務(wù)層邏輯以及更后端的數(shù)據(jù)庫(kù)服務(wù)。

由于CC攻擊成本低、威力大,知道創(chuàng)宇安全專家組發(fā)現(xiàn)80%的DDoS攻擊都是CC攻擊。帶寬資源嚴(yán)重被消耗,網(wǎng)站癱瘓;CPU、內(nèi)存利用率飆升,主機(jī)癱瘓;瞬間快速打擊,無法快速響應(yīng)。知道創(chuàng)宇頂級(jí)安全研究團(tuán)隊(duì)為抗D保自主研發(fā)的Anti-CC防護(hù)引擎可以根據(jù)訪問者的URL、頻率、行為等訪問特征,智能識(shí)別CC攻擊,迅速識(shí)別CC攻擊并進(jìn)行攔截,在大規(guī)模CC攻擊時(shí)可以避免源站資源耗盡,保證企業(yè)網(wǎng)站的正常訪問。

抗D保-抗CC攻擊數(shù)據(jù)(監(jiān)控)

DNSQueryFlood

DNS作為互聯(lián)網(wǎng)的核心服務(wù)之一,自然也是DDoS攻擊的一大主要目標(biāo)。DNSQueryFlood采用的方法是操縱大量傀儡機(jī)器,向目標(biāo)服務(wù)器發(fā)送大量的域名解析請(qǐng)求。服務(wù)器在接收到域名解析請(qǐng)求時(shí),首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,若查找不到且該域名無法直接解析時(shí),便向其上層DNS服務(wù)器遞歸查詢域名信息。

通常,攻擊者請(qǐng)求解析的域名是隨機(jī)生成或者是網(wǎng)絡(luò)上根本不存在的域名,由于在本地?zé)o法查到對(duì)應(yīng)的結(jié)果,服務(wù)器必須使用遞歸查詢向上層域名服務(wù)器提交解析請(qǐng)求,引起連鎖反應(yīng)。解析過程給服務(wù)器帶來很大的負(fù)載,每秒鐘域名解析請(qǐng)求超過一定的數(shù)量就會(huì)造成DNS服務(wù)器解析域名超時(shí)。

根據(jù)微軟的統(tǒng)計(jì)數(shù)據(jù),一臺(tái)DNS服務(wù)器所能承受的動(dòng)態(tài)域名查詢的上限是每秒鐘9000個(gè)請(qǐng)求。而一臺(tái)P3的PC機(jī)上可以輕易地構(gòu)造出每秒鐘幾萬個(gè)域名解析請(qǐng)求,足以使一臺(tái)硬件配置極高的DNS服務(wù)器癱瘓,由此可見DNS服務(wù)器的脆弱性。

抗D保在全國(guó)多個(gè)城市采用分布式集群方式部署了上千臺(tái)高效DNS服務(wù)器,從而保證各個(gè)地區(qū)的查詢響應(yīng)速度??笵保的高防DNS服務(wù),可有效解決突發(fā)的上億級(jí)別的隨機(jī)HOSTA記錄查詢攻擊、遞歸DNS穿透攻擊、DNS流量攻擊等多種針對(duì)域名解析的攻擊請(qǐng)求。

抗D保防御DNS攻擊效果示意

三、混合攻擊:流量與技巧并用

在實(shí)際情況中,攻擊者只求達(dá)到打垮對(duì)方的目的,發(fā)展到現(xiàn)在,高級(jí)攻擊者已經(jīng)不傾向使用單一的攻擊手段作戰(zhàn)了,而是根據(jù)目標(biāo)系統(tǒng)的具體環(huán)境靈動(dòng)組合,發(fā)動(dòng)多種攻擊手段,既具備了海量的流量,又利用了協(xié)議、系統(tǒng)的缺陷,盡其所能地展開攻勢(shì)。

對(duì)于被攻擊目標(biāo)來說,需要面對(duì)不同協(xié)議、不同資源的分布式的攻擊,分析、響應(yīng)和處理的成本就會(huì)大大增加。

抗D保擁有國(guó)內(nèi)最大的抗D集群,使用騰訊宙斯盾流量清洗設(shè)備并結(jié)合由知道創(chuàng)宇研發(fā)的Anti-DDoS引擎,5秒發(fā)現(xiàn)惡意攻擊,10秒快速阻斷,2T帶寬儲(chǔ)備,通過多種防御手段,防御各種類型、形態(tài)的DDoS攻擊,包括基于網(wǎng)絡(luò)層的攻擊,如TCPFlood、UDPFlood、ICMPFlood,以及應(yīng)用層攻擊,類似HTTPFlood這種試圖耗盡服務(wù)器資源的攻擊,同時(shí)可以有效防御各種反射攻擊和僵尸網(wǎng)絡(luò)攻擊。

面對(duì)一次次攻擊,即使是去年10月讓美國(guó)半個(gè)互聯(lián)網(wǎng)癱瘓的DDoS攻擊事件,也只是讓很多人小心臟稍微顫抖了幾下,在大家的印象中,DDoS只是一陣海嘯,很快就能恢復(fù)了往日的平靜。但是,DDoS在互聯(lián)網(wǎng)發(fā)展進(jìn)程中已經(jīng)留下了太多不可磨滅的破壞,許多企業(yè)就此一蹶不振。而且隨著互聯(lián)網(wǎng)+的不斷推進(jìn),商業(yè)競(jìng)爭(zhēng)的愈演愈烈,它的危害越來越大,任何企業(yè)組織都應(yīng)該考慮自己的DDoS防護(hù)方案,而不是成為攻擊的炮灰,也盡量避免遭受攻擊后再亡羊補(bǔ)牢。

相關(guān)新聞

2016-12-20

2017-03-06

2017-07-28

2017-08-17

2017-09-04

《絕地求生》啟用單獨(dú)客戶端進(jìn)行新地圖測(cè)試 推廣視頻課程

img

霍霸

關(guān)注
2018-04-034月3日消息(記者黃勝)

《絕地求生》官方發(fā)布公告表明即將開始4x4新地圖的測(cè)試,玩家需要通過獲取“代號(hào):Savage”的全新封測(cè)客戶端進(jìn)行游戲。第一輪測(cè)試期間為北京時(shí)間4月3日上午10點(diǎn)到4月5日下午7點(diǎn)。

《絕地求生》官方表示,只有已購(gòu)買PUBG游戲的玩家才能獲取測(cè)試資格。玩家在獲得激活碼后,需要在Steam客戶端內(nèi)進(jìn)行激活。并下載一個(gè)大小為4.5GB左右的Savage封測(cè)客戶端。此外,官方還貼心的考慮到中國(guó)玩家申請(qǐng)的不便性,特別準(zhǔn)備了部分激活碼。

激活碼獲取網(wǎng)站地址:

業(yè)內(nèi)人士表示,本次采用全新客戶端進(jìn)行測(cè)試一方面可能是為了給游戲優(yōu)化打下基礎(chǔ),并且測(cè)試服務(wù)器壓力,另一方面或許和國(guó)服上線有關(guān)。(完)

img

在線咨詢

建站在線咨詢

img

微信咨詢

掃一掃添加
動(dòng)力姐姐微信

img
img

TOP