【iOS】smartconfig 組播實現(xiàn)

一猾编、框架

1.UDP框架 GCDAsyncUdpSocket瘤睹;
2.加密方式,采用aes_cfb128 iv為0 ;
3.抓包驗證wireshark

二袍镀、數(shù)據(jù)初始化

1.初始化UDPSocket 與廣播相同

三默蚌、數(shù)據(jù)發(fā)送

(1)發(fā)送地址

端口與設(shè)備端協(xié)商冻晤,這里以60000舉例
local:port -> 239...* : 60000 + index

(2)數(shù)據(jù)
說明
dataByte 總長度(1) + flag(1) + + pwdLen(1) + pwd + randLen(1) + rand+ ssidLen(1) + ssid + bssidLen + bssid + checkSum(1)
ssid: ssid為中文則采用utf-8編碼苇羡,其他則為ASCII編碼
pwd pwd需要加密
rand 隨機數(shù)
bssid bssid
checkSum 校驗和

加密編碼方式與廣播相同

//生成隨機數(shù)
- (NSData *)dataFromRand:(int)count{
    Byte codeData[count];
    for (int i = 0; i < count; i++) {
        codeData[i] = arc4random()%255 + 1;
    }
    return  [NSData dataWithBytes:codeData length:sizeof(codeData)];
}
(3)發(fā)送結(jié)構(gòu)

利用組播目的地址的后23bit發(fā)送數(shù)據(jù)
數(shù)據(jù)分為 239.index.data[n].data[n+1]
數(shù)據(jù)分為

說明
index 數(shù)據(jù)序號
data 數(shù)據(jù)按字節(jié)順序
//生成地址
- (NSString *)ipStringWithData:(NSString *)dataString count:(int)count{
    NSString *ipString = [NSString stringWithFormat:@"239.%d.%@",count,dataString];
    return ipString;
}
//發(fā)送數(shù)據(jù)
[self.castClient sendData:[self zeroDataWithCount:1] toHost:ipString port:70000+_sendCount];
(4)傳輸規(guī)則

每包之間間隔20ms;間隔時間可按實際情況調(diào)整
(1) -> 239.0.data[0].data[1]
(2) -> 239.1.data[2].data[3]
(3) -> 239.2.data[4].data[5]
(4) -> 239.3.data[6].data[7]
...


截屏2021-04-29 16.17.04.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鼻弧,隨后出現(xiàn)的幾起案子设江,更是在濱河造成了極大的恐慌,老刑警劉巖攘轩,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叉存,死亡現(xiàn)場離奇詭異,居然都是意外死亡度帮,警方通過查閱死者的電腦和手機歼捏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門稿存,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞳秽,你說我怎么就攤上這事瓣履。” “怎么了练俐?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵袖迎,是天一觀的道長。 經(jīng)常有香客問我腺晾,道長燕锥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任悯蝉,我火速辦了婚禮归形,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鼻由。我一直安慰自己连霉,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布嗡靡。 她就那樣靜靜地躺著跺撼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讨彼。 梳的紋絲不亂的頭發(fā)上歉井,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音哈误,去河邊找鬼哩至。 笑死,一個胖子當著我的面吹牛蜜自,可吹牛的內(nèi)容都是我干的菩貌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼重荠,長吁一口氣:“原來是場噩夢啊……” “哼箭阶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起戈鲁,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤仇参,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后婆殿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诈乒,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年婆芦,在試婚紗的時候發(fā)現(xiàn)自己被綠了怕磨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喂饥。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肠鲫,靈堂內(nèi)的尸體忽然破棺而出仰泻,到底是詐尸還是另有隱情,我是刑警寧澤滩届,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布集侯,位于F島的核電站,受9級特大地震影響帜消,放射性物質(zhì)發(fā)生泄漏棠枉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一泡挺、第九天 我趴在偏房一處隱蔽的房頂上張望辈讶。 院中可真熱鬧,春花似錦娄猫、人聲如沸贱除。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽月幌。三九已至,卻和暖如春悬蔽,著一層夾襖步出監(jiān)牢的瞬間扯躺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工蝎困, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留录语,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓禾乘,卻偏偏與公主長得像澎埠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子始藕,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容