Tinder o'rniga AirDrop-dan qanday foydalanaman

Tinder o'rniga AirDrop-dan qanday foydalanaman

Apple qurilmalarida ajoyib Airdrop funksiyasi mavjud - u qurilmalar o'rtasida ma'lumotlarni yuborish uchun yaratilgan. Bunday holda, qurilmalarni sozlash yoki dastlabki juftlashtirish talab qilinmaydi, hamma narsa ikki marta bosish orqali ishlaydi. Wi-Fi orqali qo'shimcha ma'lumotlarni uzatish uchun ishlatiladi va shuning uchun ma'lumotlar juda katta tezlikda uzatiladi. Shu bilan birga, ba'zi hiyla-nayranglardan foydalanib, siz nafaqat fayllarni yuborishingiz, balki siz bilan bir metro vagonida bo'lgan odamning telefon raqamini ham bilib olishingiz mumkin.

So‘nggi bir yil davomida men ushbu funksiyadan ishga ketayotganda, jamoat transportida va umumiy ovqatlanish korxonalarida qiziqarli tanishuvlar orttirish uchun foydalanaman. Men kuniga o'rtacha bir nechta yangi tanishlar orttirishga muvaffaq bo'laman va ba'zida metroni yangi odam bilan tark etaman.

Kesish ostida men sizga barcha xurmo haqida gapirib beraman.

AirDrop qanday ishlaydi?

Tinder o'rniga AirDrop-dan qanday foydalanaman

AirDrop - bu peer-to-peer tarmog'ida fayllarni uzatish protokoli. U oddiy mahalliy tarmoq orqali ham, har qanday Apple qurilmalari o'rtasida havo orqali ham ishlashi mumkin. Biz ikkita qurilma umumiy tarmoqqa ulanmagan, ammo yaqin atrofda bo'lgan oxirgi holatni tahlil qilamiz, masalan, telefonlari bor ikki kishi metro vagonida sayohat qilmoqda va umumiy Wi-Fi tarmog'iga ulanmagan.

Tinder o'rniga AirDrop-dan qanday foydalanaman
AirDrop orqali uzatishning birinchi bosqichi BLE paketini yuborishdir

AirDrop orqali ma'lumotlarni uzatishni boshlash uchun tashabbuskorning telefoni AWDL (Apple Wireless Direct Link) orqali ulanishni o'rnatish taklifi bilan iCloud hisobi va tashabbuskor qurilmalari egasining telefon raqami haqidagi xeshlangan ma'lumotlarni o'z ichiga olgan BLE eshittirish paketini yuboradi. ) protokoli, Wi-Fi kabi narsa. Android dunyosidan Fi Direct. Ushbu BLE paketining tuzilishi juda qiziq, biz uni batafsil tahlil qilamiz.

Qabul qiluvchi tomonda AirDrop uchta holatda bo'lishi mumkin:

  • Oʻchirilgan - umuman aniqlanmaydi
  • Faqat kontaktlar uchun — faqat manzillar kitobingizdagi kontaktlardan fayllarni qabul qiling. Bunday holda, kontakt icloud hisobi bog'langan telefon raqami yoki elektron pochta manzili hisoblanadi. Hisoblarni ulash mantiqi bu erda iMessages messenjeri bilan bir xil ishlaydi.
  • Barcha uchun - telefon hammaga ko'rinadigan bo'ladi

Tinder o'rniga AirDrop-dan qanday foydalanaman
AirDrop maxfiylik sozlamalari. Standart holat "Kontaktlar uchun" ga o'rnatiladi.

Maxfiylik sozlamalaringizga qarab, telefon AWDL orqali ulanishni davom ettiradi yoki oddiygina BLE paketini e'tiborsiz qoldiradi. Agar AirDrop "hamma uchun" ga o'rnatilgan bo'lsa, keyingi bosqichda qurilmalar bir-biriga AWDL orqali ulanadi, ular o'rtasida IPv6 tarmog'ini yaratadi, uning doirasida AirDrop standart IP protokoli orqali mDNS-dan foydalangan holda oddiy dastur protokoli sifatida ishlaydi.

Tinder o'rniga AirDrop-dan qanday foydalanaman

Tajribalar uchun siz AWDL qanday ishlashini MacBook-da ko'rishingiz mumkin. Ushbu protokol bo'yicha barcha almashinuv interfeys orqali amalga oshiriladi awdl0, uni Wireshark yoki tcpdump yordamida osongina olish mumkin.

Ushbu bosqichda biz uchta ob'ektni bilamiz:

Bluetooth LowEnergy (BLE) to'plami - bu paketda telefon tashabbuskor uning kontaktlar ro'yxatida yoki yo'qligi haqida qaror qabul qiladigan ma'lumotlarni o'z ichiga oladi.
Apple Wireless Direct Link (AWDL) — Apple-dan Wi-Fi Direct-ni xususiy almashtirish, agar BLE orqali aloqa muvaffaqiyatli bo'lsa, faollashtiriladi.
AirDrop - mDNS, HTTP va boshqalardan foydalangan holda oddiy IP tarmog'ida ishlaydigan dastur protokoli. Har qanday Ethernet tarmog'ida ishlashi mumkin.

BLE paket tuzilishi

Ko'rinishidan, bu BLE paketi tashabbuskordan qabul qiluvchiga faqat bir marta uchadi va keyin almashinuv faqat AWDL orqali amalga oshiriladi. Aslida, AWDL ulanishi juda qisqa umrga ega, atigi bir necha daqiqa yoki undan kamroq. Shunday qilib, agar faylni oluvchi sizga javob berishni istasa, u ham tashabbuskor sifatida ishlaydi va BLE paketini yuboradi.

Qabul qiluvchi tomondagi telefon tashabbuskorning raqami/elektron pochtasi uning kontaktlar ro'yxatida yoki yo'qligini qanday tushunadi? Javobni bilganimda juda hayron bo'ldim: tashabbuskor o'z raqamini va elektron pochtasini sha256 xesh sifatida yuboradi, lekin butunlay emas, faqat birinchi 3 bayt.

Tinder o'rniga AirDrop-dan qanday foydalanaman
AirDrop tashabbuskoridan BLE paketining tuzilishi. Telefon raqami va elektron pochtadan olingan xeshlardan foydalanib, javob beruvchi tashabbuskor uning kontaktlar ro'yxatida yoki yo'qligini tushunadi.

Misol uchun, agar sizning Apple hisobingiz (aka iCloud, aka iMessages) +79251234567 raqamiga ulangan bo'lsa, undan xesh quyidagicha hisoblanadi:

echo -n "+79251234567" | shasum -a 256
07de58621e5d274f5844b6663a918a94cfd0502222ec2adee0ae1aed148def36

Natijada, BLE paketidagi qiymat uchib ketadi 07de58 telefon raqami uchun. Bu etarli emasdek tuyuladi, lekin ko'pincha bu uch bayt haqiqiy telefon raqamini bilish uchun etarli.

Shuni ham yodda tutish kerakki, AirDrop maxfiylik sozlamalari BLE paketidagi ma'lumotlarga ta'sir qilmaydi. "Hamma uchun" sozlamasi o'rnatilgan bo'lsa ham, telefon raqamining xeshi unda mavjud bo'ladi. Shuningdek, ulashish oynasi ochilganda va Wi-Fi tarmog'i uchun parol kiritilganda telefon raqami xeshli BLE paketi yuboriladi.

BLE paketlarining tuzilishini va unga mumkin bo'lgan hujumlarni batafsil tahlil qilish uchun tadqiqotni o'qing Apple Bleee va rus Habrega tarjima.

Apple Bleee tadqiqoti BLE paketlarida ma'lumotlar tahlilini avtomatlashtirish uchun tayyor python skriptlarini nashr etdi. Men tadqiqotni tekshirishni va dasturlarni sinab ko'rishni tavsiya qilaman, u erda juda ko'p qiziqarli narsalar bor.

AWDL (Apple Wireless Direct Link)

AWDL - bu Wi-Fi Direct kabi narsalarni amalga oshiradigan oddiy Wi-Fi-ga xususiy Apple qo'shimchasi. Men uning qanday ishlashini to'liq bilmayman, kanallarni e'lon qilish va muvofiqlashtirishning maxsus usuli bor va u faqat xususiy Apple drayverlarida ishlaydi. Ya'ni, faqat MacBooks/iPhone'lar AWDL orqali ulanishi mumkin.

G'amgin Android telefonlari egalari hali ham to'g'ri ishlaydigan Wi-Fi Direct funksiyasini orzu qiladilar.

Tinder o'rniga AirDrop-dan qanday foydalanaman

Ammo yaqinda yigitlar seeoo-lab AWDL ning to'liq ochiq kodli ilovasini yozdi va uni chaqirdi Simsiz ulanishni oching (boyqush). OWL-ni ishga tushirish uchun Wi-Fi adapteri monitor rejimini va paketli in'ektsiyani qo'llab-quvvatlashi kerak, shuning uchun u har bir uskunada ishlamaydi. Saytda Raspberry pi-da konfiguratsiya namunalari mavjud. Bu asl AWDL dan sezilarli darajada yomonroq ishlaydi, masalan, ulanishni o'rnatish vaqti asl nusxa uchun bir necha soniya o'rniga ~ 10 soniyaga uzaytiriladi, lekin u ishlaydi.

Tinder o'rniga AirDrop-dan qanday foydalanaman

Bundan tashqari, bu bolalar noldan Python-da AirDrop protokolining amalga oshirilishini yozdilar OpenDrop. U Linux-da AirDrop-ni ishga tushirish uchun OWL bilan va macOS-da asl AWDL bilan birgalikda ishlatilishi mumkin.

AirDrop orqali qanday yig'ish mumkin

Tinder o'rniga AirDrop-dan qanday foydalanaman
AirDrop orqali yig'ish bilan bog'liq odatiy holat

Zerikarli nazariya yetarli, amaliyotni boshlash vaqti keldi. Shunday qilib, siz barcha kerakli jihozlar bilan qurollangansiz va yuqori texnologiyadan foydalangan holda oldinga siljishga va to'plarni yig'ishga tayyormiz.

Avval siz asosiy fikrlarni eslab qolishingiz kerak:

  • AirDrop faqat telefon qulfdan chiqarilganda ishlaydi - agar maqsad doimo telefonga qarasa yaxshi bo'ladi. Ko'pincha bu zerikarli joylarda, masalan, metroda sodir bo'ladi.
  • Vaqt kerak — odatda, ijobiy konvertatsiya yuborilgan 3-5-rasmda sodir bo'ladi, shuning uchun sizga bir joyda kamida 5 daqiqa tinch vaqt kerak bo'ladi. Men AirDrop orqali messenjerda muloqotni davom ettirishga rozi bo'lgan paytingizni ijobiy konvertatsiya deb bilaman. Buni tezda amalga oshirish qiyin, chunki sizning yukingizni kim qabul qilgani darhol noma'lum va siz biror narsaga rozi bo'lguningizcha isinasiz.
  • Shaxsiylashtirilgan ijodkorlik yaxshiroq ishlaydi — Men siz AirDrop orqali yuboradigan media-kontentni foydali yuk deb atayman. Shunchaki mem bilan surat hech qayerga olib kelmaydi, mazmuni vaziyatga mos kelishi va harakatga aniq chaqiriq bo‘lishi kerak.

Klassik usul - shunchaki telefon

IPhone-ga ega bo'lgan har bir kishi uchun javob beradi, ijtimoiy ko'nikmalardan tashqari hech qanday maxsus ko'nikmalarni talab qilmaydi. Biz AirDrop-ni Hamma rejimiga o'tkazamiz va metroga tushamiz. Oddiy kuni (o'zini izolyatsiya qilishdan oldin) Moskva metro vagonida men shunday narsani kuzatdim:

Tinder o'rniga AirDrop-dan qanday foydalanaman
Maqsadlar ro'yxati

Ko'rib turganingizdek, deyarli barcha telefonlar egasining ismini efirga uzatadi, bu orqali biz uning jinsini osongina aniqlashimiz va tegishli yukni tayyorlashimiz mumkin.

Foydali yuk

Yuqorida yozganimdek, noyob foydali yuk yaxshiroq ishlaydi. Ideal holda, rasm egasiga ismi bilan murojaat qilishi kerak. Ilgari men eslatmalar ilovasidagi grafik muharrir va qandaydir mobil Photoshop stub yordamida ijodkorlikni haykalga solishim kerak edi. Natijada, kerakli rasm chizilgan vaqtga kelib, allaqachon mashinadan tushish kerak edi.

Do'stim Anya koteeq, xususan, mening iltimosim bilan kerakli rasmlarni tezda yaratuvchi Telegram botini yozdi: @AirTrollBot. Unga endi koptoklarni avvalgidan ko'ra texnologikroq aylantira olganim uchun katta rahmat aytaman.

Botga matn qatorini yuborish kifoya va u uni AirDrop oynasida oldindan ko'rish uchun tomonlar nisbatiga to'liq mos keladigan tasvir ko'rinishida yaratadi. Tugmalarni bosish orqali rasmdagi belgini tanlashingiz mumkin. Shuningdek, ixtiyoriy ravishda burchakdagi rasmga Telegram loginingizni qo‘shishni yoqishingiz mumkin.

Tinder o'rniga AirDrop-dan qanday foydalanaman
Yuk yuk generatori

Eng yomoni, rasm hech qanday harakatsiz jabrlanuvchining ekranida darhol ko'rsatildi. Siz hatto "qabul qilaman" tugmasini bosishingiz shart emas edi. Yuk yukini yuklashda yuzdagi lahzali reaktsiyani ko'rishingiz mumkin edi. Afsuski, iOS 13 dan boshlab, notanish kontaktlarning rasmlari endi ekranda ko'rsatilmaydi. Bu avval qanday ko'rinishga ega edi:

Tinder o'rniga AirDrop-dan qanday foydalanaman
Foydali yuk iOS ≤12 da yetkazib berildi

Endi oldindan ko'rish o'rniga faqat jo'natuvchi qurilmasining nomi ko'rsatiladi. Shuning uchun, iOS ≥13 bo'lgan jabrlanuvchi bilan ism bilan bog'lanishning yagona usuli - uni qurilmangiz sozlamalarida o'rnatish, masalan, "Yuliya, salom" telefoniga qo'ng'iroq qiling. Maslahat: Qurilma nomida kulgichlardan foydalanishingiz mumkin. Albatta, bu usul rasmdagi kabi yorqin emas, lekin "qabul qilish" tugmasini bosish imkoniyatini sezilarli darajada oshiradi.

Harakatlarning keyingi tavsifi texnik maqola doirasidan tashqarida va faqat sizning tasavvuringizga, improvizatsiya va hazilingizga bog'liq. Faqat shuni aytishim mumkinki, bu o'yinga qo'shilib, sizga rasm bilan javob berish yoki eslatma yuborishni boshlaganlar odatda juda quvnoq, ochiq va qiziqarli odamlardir. Rasmga qaragandan so'ng, javob bermaydigan yoki undan ham yomoni, xabarni shunchaki rad etadiganlar, odatda, zerikarli zerikarli va ahmoqdirlar. Qo'rquv omili ham ko'pincha rol o'ynaydi: mo'rt, qo'rqoq odamlar bunday takabbur anonim notanish odam bilan muloqot qilishdan qo'rqishadi.

Avtomatik tanlash mashinasi

Agar siz foydali yuklarni qo'lda yaratish va jo'natish uchun juda dangasa bo'lsangiz va jarayonni avtomatlashtirmoqchi bo'lsangiz, avtomatik ovozli tanlash mashinasini yaratishingiz mumkin, u fonda AirDrop orqali rasmlarni masofadagi hammaga yuboradi. Uskuna platformasi sifatida biz malina pi noldan foydalanamiz, lekin Linux-ga ega har qanday kompyuter buni qiladi, asosiysi Wi-Fi kartasi monitor rejimini va paketli in'ektsiyani qo'llab-quvvatlaydi.

Tinder o'rniga AirDrop-dan qanday foydalanaman
Raspberry pi zero w + UPS Lite batareya ekraniga asoslangan Airdrop orqali dinamik jo'natuvchi

Jailbreak iPhone-lar uchun AirDrop flooder dasturlari mavjud, ular malina pi-dagi ochiq versiyalarga qaraganda barqarorroq ishlaydi.

Malinali pi-da OWL-ni o'rnatish bu erda batafsil tavsiflangan loyiha sayti, lekin men Raspberry Pi Zero uchun Kali Linux tuzilmasidan foydalanishni afzal ko'raman, chunki u allaqachon rpi0 da Wi-Fi monitor rejimini yoqish uchun nexmon yamoqlari o'rnatilgan.

Airdrop (aniqrog'i AWDL) bemorlar uchun faqat BLE paketini olgandan keyin faollashtirilganligini yodda tutish kerak. Shuning uchun biz uni bir necha soniya oralig'ida yuborishimiz kerak. Buni yordamchi dastur yordamida amalga oshirish mumkin py-bluetooth-utils. start_le_advertising() funktsiyasidan foydalanib, men ma'lumotlar qatorini apple bleee misollaridan yuboraman: 000000000000000001123412341234123400.

Agar sizda ishlaydigan OWL demoni bo'lsa, mening vilkalarimni ishga tushirishingiz mumkin ochiq tomchi. Omborda skript mavjud flooder.py, bu hammaga rasm yuboradi kak_dela.jpeg.

Mening kuzatishlarimga ko'ra, malina pi nol w monitor rejimida beqaror. Taxminan 20 daqiqalik faol suv toshqini ishidan so'ng, Wi-Fi quyi tizimi ishdan chiqadi. Muammo muallif tomonidan tasvirlangan pwnagotchi, va, ehtimol, haddan tashqari qizib ketishdan kelib chiqadi. Qo'riqchini ta'minlash yoki yanada barqaror uskunadan foydalanish kerak

Maniacello rejimi - Men sizning raqamingizni bilaman

Agar siz o'zingizni noto'g'ri manyak sifatida ko'rsatmoqchi bo'lsangiz va siz bilan aloqani davom ettirish istagini abadiy to'xtatmoqchi bo'lsangiz, yaqin atrofdagi odamning telefon raqamini bilishga harakat qilishingiz mumkin.

Avval bilib olganimizdek, tashabbuskor tomonidan yuborilgan BLE paketlari sha256 telefon raqamining dastlabki uch baytini o'z ichiga oladi. Ushbu xeshni jabrlanuvchi “ulashish” tugmasini bosganda va airdrop qurilmalarini skanerlashni boshlaganda yoki kirish maydonida yangi tarmoq uchun Wi-Fi parolini bosganida ushlanishi mumkin (shunday qilib, Apple siz so'rashingiz mumkin bo'lgan do'stlarni qidiradi. tarmoq paroli).

Siz qandaydir tarzda jabrlanuvchidan xesh-xabarni ishga tushirishingiz va uni qo'lga olishingiz kerak bo'ladi. Men ombordan yordamchi dasturlardan foydalanmoqdaman Apple Bleee. Qurilmalarning Bluetooth MAC manzillari tasodifiy va doimiy ravishda o'zgarib turadiganligi sababli, ushbu ro'yxatda kerakli qurilmani aniqlashning boshqa usulini topishingiz kerak bo'ladi. Vazifa soddalashtirilgan, chunki iOS telefonning hozirgi holatini translyatsiya qiladi: ekran o'chirilgan, ekran yoqilgan, ekran qulflangan, qulfdan chiqarilgan va hokazo. Shuning uchun, jabrlanuvchining harakatlarini kuzatish orqali siz qurilmaning joriy holatini jadvaldagi qurilma bilan solishtirishingiz mumkin. Eng oson yo'li - foydalanuvchi telefonni cho'ntagidan chiqarib, ekranni yoqib, telefonni barmog'i yoki yuzi bilan qulfdan chiqargan lahzani ushlash. Bularning barchasi snifferda ko'rinadi.

Tinder o'rniga AirDrop-dan qanday foydalanaman
icon Х telefon xeshlari bo'lgan paket ushlanganligini anglatadi.

Ularning tahlilchisi ba'zan buziladi, lekin ko'pincha u ishlaydi. Men zaiflikning mohiyatini to'liq aytib bermayman, chunki u Apple Blee mualliflari tomonidan batafsil tahlil qilingan, men faqat o'z tajribamni tasvirlab beraman. Aytmoqchimanki, men CSR 8510 chipida USB Bluetooth adapteridan foydalanaman, chunki u men uchun MacBook-ga o'rnatilgan va virtual mashinaga o'rnatilgan Bluetooth adapteriga qaraganda ancha barqaror ishlaydi.

Shunday qilib, biz jabrlanuvchining telefonidan xeshni ushladik va telefon raqamining xeshidan orzu qilingan uch baytni oldik.

Tinder o'rniga AirDrop-dan qanday foydalanaman
Yordamchi dastur yordamida telefon raqami xeshli BLE paketi tutib olindi read_ble_state.py

Biz bilamizki, Rossiyada barcha mobil raqamlar +79 kodidan boshlanadi va, ehtimol, bizning qurbonimizning telefonida bir xil kod mavjud. Ma'lum bo'lishicha, bizda +79000000000 dan +79999999999 gacha bo'lgan raqamlar diapazoni, taxminan milliard raqam mavjud.

Assortimentni qisqartirish uchun biz faqat har qanday operatorda ro'yxatdan o'tgan kodlarni olamiz va qolganlarini olib tashlaymiz. Natijada, diapazon yarmiga katta bo'ladi, taxminan yarim milliard raqam.

Keyinchalik, biz barcha raqamlardan sha256 hosil qilamiz va har bir xeshdan faqat dastlabki 3 baytni saqlaymiz. Biz ushbu ro'yxatni Sqlite ma'lumotlar bazasiga kiritamiz va qidiruvni tezlashtirish uchun indeks yaratamiz.

Ma'lumotlar bazasidagi ma'lumotlar quyidagicha ko'rinadi:

Tinder o'rniga AirDrop-dan qanday foydalanaman
Barcha rus telefon raqamlari va xeshning dastlabki uch bayti

Keyinchalik, jabrlanuvchining xeshiga ega bo'lgan holda, biz ma'lumotlar bazasidagi barcha mosliklarni qidirishimiz mumkin. Odatda har bir xeshga 15-30 ta mos keladi.

Tinder o'rniga AirDrop-dan qanday foydalanaman
Jabrlanuvchining hashiga mos keladigan barcha raqamlar

Shubhasiz, bu raqamlarning hammasi ham aslida ishlatilmaydi. Biz HLR so'rovi yoki ko'rinmas SMS yordamida keraksizlarni kesib tashlashimiz mumkin. 30 ta raqamdan 5 tasi internetda topilgan.

Tinder o'rniga AirDrop-dan qanday foydalanaman
HLR so'rovining natijasi. Tarmoq raqamlari yashil rang bilan ta'kidlangan.

Men raqamlarni saralashni davom ettirishim mumkin, masalan, ularning barchasini Telegram/Whatsapp-ga qo'shish va avatarlarga qarash, Getcontact kabi ma'lumotlar bazalarini tekshirish va hokazo. Ammo barcha beshta raqamga birma-bir qo'ng'iroq qilish va jabrlanuvchining telefoni jiringlaganini kuzatish osonroq bo'ldi.

Tinder o'rniga AirDrop-dan qanday foydalanaman
Maqsad joylashgan

todo

  • Malinali pi ustidagi suv toshqini juda beqaror, siz boshqa bitta taxtalarni sinab ko'rishingiz kerak.
  • iOS uchun mahalliy flooder ancha yaxshi bo'lardi, lekin men iOS 12-13 da hatto jailbreak bilan ham ishlaydigan birini topa olmadim.
  • Flooder.py skripti juda ahmoqdir. Ehtimol, u qabul qiluvchining qurilma nomidan ism olib, iPhone so‘zini kesib, shaxsiylashtirilgan rasmni yaratishi mumkin.
  • Telefon raqamini aniqlash usuli faqat raqamning iMessage-ga ulanganligini tekshirish orqali optimallashtirilishi mumkin. Bu sizga 100% ga yaqin urish tezligini beradi.

xulosa

Bu metro uchun eng zo'r o'yin-kulgi. Voy effekti bor, qiziquvchan odamlar bunga qiziqishadi. Ko'p improvizatsiya, juda kulgili holatlar bor edi. Ma'lum bo'lishicha, ko'p odamlar sizning metro stantsiyangizga tushib, qahva ichish uchun birga o'ynashga va hatto rejalarini bekor qilishga tayyor. Yil davomida men juda ko'p odamlar bilan uchrashdim va ularning ba'zilari bilan muloqot qilishda davom etaman.

Gohida Telegramga kirishni o‘chirib, zavqlanaman mana bunday.

Tinder o'rniga AirDrop-dan qanday foydalanaman

Tinder o'rniga AirDrop-dan qanday foydalanaman

Manba: www.habr.com

a Izoh qo'shish