Tìm hiểu công nghệ bluetooth và viết ứng dụng minh họa (Đào Quý Thái An vs Trần Thị Mỹ Hạnh)- 3 pdf

64 755 0
Tìm hiểu công nghệ bluetooth và viết ứng dụng minh họa (Đào Quý Thái An vs Trần Thị Mỹ Hạnh)- 3 pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Nên để Bluetooth thiết bị chế độ ẩn (hidden) để tránh bị nhiễm bị nhiễm sâu cố lây nhiễm sang thiết bị khác dù người sử dụng tắt Bluetooth thiết bị Có thể diệt sâu Lasco.A F-Secure Mobile Anti-Virus, sau bạn xóa thư mục: c:\system\symbiansecuredata\velasco\ Nếu điện thoại bạn bị nhiễm Lasco.A không cài file thông qua Bluetooth, bạn tải chương trình qt virus F-Secure Mobile Anti-Virus trực tiếp vào máy 3.2.3.14 Locknut – B 3.2.3.14.1 Thông tin: Tên: Troj/Locknut-B Loại virus: Trojan Hiệu ứng lề: bỏ nhiều malware để lại file không bị nhiễm máy 3.2.3.14.2 Mô tả thông tin chi tiết: _ Troj/Locknut-B Trojan thiết bị điện thoại di động viết dành riêng cho dòng máy chạy hệ điều hành Symbian Series 60 _ Trojan đóng gói cài đặt file MMFPatch.sis _ Đơi Trojan đóng gói với worm Symb/Cabir-A _ Khi cài đặt file lần thiết bị, vài lần hiển thị cảnh báo bảo mật Có thể văn “MMFPatch” hiển thị lúc cài đặt _ Troj/Locknut-B cài đặt nhóm file: C:\system\apps\gavno\gavnoreturn.app C:\system\apps\gavno\gavnoreturn.Rsc C:\system\apps\gavno\gavnoreturn_caption.Rsc 3.2.3.15 Mabir.A Đào Quý Thái An – Trần Thị Mỹ Hạnh 121 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 3.2.3.15.1 Thông tin Tên: Mabir.A Bí danh: SymbOS/Mabir.A Loại virus: Worm Ngày ngăn chặn xâm nhập: 13/12/2004 3.2.3.15.2 Mô tả chi tiết thông tin virus Mabie.A loại worm đuợc viết dành riêng cho dòng máy chạy hệ điều hành Symbian Series 60, lây nhiễm qua Bluetooth tin nhắn MMS Khi Mabir.A lây vào điện thoại, bắt đầu tìm iếm điện thoại khác tầm hoạt động Bluetooth gởi file caribe.sis (chứa caribe.app, caribe.rsc and flo.mdl.)đến điện thoại Sau điện thoại khỏi vùng phủ sóng tiếp tục gởi cho điện thoại Bên cạnh việc lây lan qua Bluetooth, Mabir.A lắng nghe tin nhắn MMS gởi đến trả lời tin nhắn tin MMS có kèm Mabir info.sis Những tin chứa file info.sis khơng có dịng văn F-Secure Mobile Anti-Virus quét virus cách xóa file worm Nếu điện thoại bạn bị nhiễm Cabir không cài file thông qua Bluetooth, bạn tải chương trình qt virus F-Secure Mobile Anti-Virus trực tiếp vào máy Sau diệt virus, ban xóa thư mục rỗng gở bỏ file SIS chứa Mabir.A (caribe.sis info.sis) Khi file Mabir file cài đặt, chép phần vào thư mục sau: \system\apps\Caribe\Caribe.app \system\apps\Caribe\Caribe.rsc \system\apps\Caribe\flo.mdl Khi Mabir.exe thực thi, chép file sau: Đào Quý Thái An – Trần Thị Mỹ Hạnh 122 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa \system\symbiansecuredata\caribesecuritymanager\Caribe.app \system\symbiansecuredata\caribesecuritymanager\Caribe.rsc Và tạo file sis MMS: \system\symbiansecuredata\caribesecuritymanager\Info.sis 3.2.3.16 MGDropper.A 3.2.3.16.1 Thơng tin Tên: MGDropper.A Bí danh: SymbOS/MGDropper, Metal Gear trojan Loại virus: Trojan Ngày ngăn chặn xâm nhập: 13/12/2004 3.2.3.16.2 Mô tả chi tiết thông tin virus MGDropper file cài đặt (Metal_gear.sis), vơ hiệu hóa ứng dụng quản lý file phổ biến phần mềm Anti-Virus, đồng thời cài đặt Cabir.G vào điện thoại Cabir.G tự động kích hoạt MGDropper cài đặt bắt lây nhiễm Khi Cabir.G lây nhiễm từ điện thoại nhiễm MGDropper, file SIS mà gởi chứa Cabir.G khơng có MGDropper Tuy nhiên MGDropper cài đặt Cabir.G vào thư mục khác SEXXXY.SIS, khơng lên danh sách ứng dụng điện thoại MGDropper cố gắng vô hiệu hóa F-Secure Mobile Anti-Virus cách chép đè lên file chương trình file giả Tuy nhiên F-Secure Mobile Anti-Virus có khả diệt Cabir.G MGDropper Anti-Virus dị tìm file SIS nhiễm sâu ngăn cài đặt miễn Anti-Virus đặt chế độ realtime scan mode mặc định Sâu Cabir.G gởi kèm theo MGDropper diệt Cabir.Gen Vì MGDropper bị diệt ngăn chặn mà không cần cập nhật liệu AntiVirus Diệt virus với điện thoại series 60 Đào Quý Thái An – Trần Thị Mỹ Hạnh 123 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Để diệt hoàn toàn MGDropper điện thoại nhiễm (DT1), bạn cần điện thoại series 60 khác, không bị nhiễm virus giúp đỡ phải xóa memory card điện thoại (DT2) Lấy cơng cụ F-Skulls từ ftp://ftp.f-secure.com/anti-virus/tools/f-skulls.zip lấy trực tiếp vào điện thoại từ http://www.europe.f-secure.com/tools/fskulls.sis Cài đặt F-Skulls.sis vào DT2 Đặt memory card với F-Skulls vào DT1 Khởi động DT1, danh sách ứng dụng làm việc Đến trình quản lý ứng dụng gở bỏ file SIS mà bạn dùng để cài Skull Chép cài F-Secure Mobile Anti-Virus để gở Cabirs kèm theo Skulls từ http://www.europe.f-secure.com/estore/avmobile.shtml http://mobile.fsecure.com/ Cài đặt trình quản lý file EFilemanager vào DT1 từ http://www.psiloc.com/ Đưa memory card DT1 vào vào DT1 xóa file E:\System\Apps\SystemExplorer\SystemExplorer.app E:\System\Apps\smartfileman\smartfileman.app E:\System\Apps\file\file.app E:\System\Apps\Anti-Virus\Anti-Virus.app E:\System\Apps\Anti-Virus\FsAVUpdater.app E:\System\Apps\AppInst\Appinst.aif E:\System\Apps\AppInst\Appinst.app E:\System\Apps\cabirfix\cabirfix.app E:\System\Apps\Decabir\DECABIR.APP E:\System\Apps\Disinfect\Disinfect.app E:\System\Apps\FExplorer\FExplorer.app Những ứng dụng bị vô hiệu hóa: Simworks Anti-Virus F-Secure Mobile Anti-Virus Application installer Đào Quý Thái An – Trần Thị Mỹ Hạnh 124 Tìm hiểu công nghệ Bluetooth viết ứng dụng minh họa Cabirfix Decabir F-Cabir FExplorer File manager Smart file manager System Explorer 3.2.3.17 Mosquito Trojan 3.2.3.17.1 Thơng tin: Hình 3-16 Mosquito Trojan Hiệu ứng lề: Người dùng phải bất ngờ toán khoản bill cao trojan gửi tin nhắn dạng text SMS đắt tiền mà người dùng không hay biết đến số premium rate Trojan đuợc cảnh báo nhiều website mạng peer-to-peer 3.2.3.17.2 Mô tả chi tiết thông tin virus: _ Troj/Drever-A loại thuộc Trojan đuợc viết dành riêng cho dòng máy chạy hệ điều hành Symbian Series 60 Đào Quý Thái An – Trần Thị Mỹ Hạnh 125 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa _ Ẩn sâu bên Trojan horse dịng thơng báo sau: This version has been cracked by SODDOM BIN LOADER No rights reserved Pirate copies are illegal and offenders will have lotz of phun!!! _ Trojan xuất dạng cải trang phiên crack trò chơi “Mosquito” (Bắn muỗi)(như hình vẽ) mà game cài đặt dễ dàng điện thoại thông minh (smartphone) đại 3.2.3.18 Skulls – A 3.2.3.18.1 Thông tin -Tên: Troj/Skulls-A -Loại Virus: trojan -Cách thức lan truyền: wed downloads -Hiệu ứng lề (side effects): thay đổi, sửa đổi liệu máy 3.2.3.18.2 Mô tả chi tiết thông tin virus _ Troj/Skulls-A loại thuộc họ trojan đuợc viết dành riêng cho dòng máy chạy hệ điều hành Symbian Series 60 Trojan thường đính kèm theo phần mềm shareware dùng cho máy tính dùng hệ điều hành Symbian, thơng thường file mở rộng kiểu.sis(Extended Theme.sis installation file) _ Khi file.sis cài đặt máy, tạo số lượng file vùng Ram máy (thông thường ổ c:\), đồng thời tạo Rom (ổ z:\) file tương tự, tất ứng dụng hệ thống máy bị thay gói chương trình file.sis tạo _ Những chương trình hệ điều hành Symbian bao gồm số file với phần đuôi mở rộng là.app, thông tin chương trình thường đặt file với phần đuôi là.aif File AIF chứa Đào Quý Thái An – Trần Thị Mỹ Hạnh 126 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa đựng icon chương trình trỏ trỏ đến file chưong trình _ Troj/Skulls-A tạo file AIF chứa đựng icon trông giống đầu lâu người, icon khơng trỏ đến file chương trình Troj/Skulls-A vơ hiệu hóa chức máy, máy vẩn cịn gọi Hình 3-17 Troj/Skulls-A _ Troj/Skulls-A chứa file text, file text thị suốt trình cài đặt: “Extended Theme is an advanced Theme Manager for 7610 It uses to manage, edit, & create themes using your 7610 Tee-222 takes no responsibility for any kind of results caused by this app Install at your own risk Developed by Tee-222 2004.” Đào Quý Thái An – Trần Thị Mỹ Hạnh 127 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Hình 3-18 Troj/Skulls-A File cài đặt.sis bao gồm nhiểu file Những file thư mục Libs file nén RAR chứa đựng thông tin, thông điệp Trojan tạo , chẳng hạn thông điệp sau: "What is T-VIRUS? T-VIRUS is not a type of virus, instead it is a system file, specially designed & created for you T-VIRUS crashes the main system of your phone, i guess it is the right time for you to go to your service center, or buy a new phone Newer & higher version of T-VIRUS, coming soon If you have Cabir, feel free to send it to me, I'll appreciate it very much." 3.2.3.19 Skulls- B 3.2.3.19.1 Thông tin: Tên: Troj/Skulls-B Loại Virus: trojan Hiệu ứng lề (side effects): để lại file bị không bị nhiễm máy Cách thức lan truyền: wed downloads 3.2.3.19.2 Mô tả chi tiết thông tin virus: Troj/Skulls-B loại thuộc họ trojan đuợc viết dành riêng cho dòng máy chạy hệ điều hành Symbian Series 60 Trojan thường đính kèm theo phần mềm shareware dùng cho máy tính dùng hệ điều hành Symbian, thông thường file icons.sis(Extended Theme.sis installation file) Cách thức hoạt động Troj/Skulls-B tương tự Troj/Skulls-A Troj/Skulls-B thực cài đặt Symb/Cabir-B vào máy Đào Quý Thái An – Trần Thị Mỹ Hạnh 128 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 3.3 Các giải pháp an toàn bảo mật sử dụng công nghệ mạng Bluetooth 3.3.1 Những mẹo an tồn cho thiết bị Bluetooth: • Chỉ mở Bluetooth bạn cần thiết • Giữ thiết bị chế độ “khơng phát ra”(hidden) • Sử dụng số PIN dài khó đốn pairing thiết bị • Loại bỏ tất yêu cầu pairing không bảo đảm • Khi nhận lời mời kết nối nên yêu cầu PIN code • Thỉnh thỏang nên kiểm tra danh sách thiết bị paired để chắn thiết bị lạ danh sách • Điện thoại bạn nên thường xuyên cập nhật phiên chương trình • Nếu thiết bị dễ bị bluesnarfing bluebugging, họ cài phần mềm để khắc phục nhược điểm • Nên mã hóa thiết lập kết nối Bluetooth với máy tính bạn 3.3.2 Phịng chống virus mobile phone? Virus mobile phone mẻ Do đó, phần mềm phịng chống virus mobile phone chưa có nhiều chưa phổ biến phần mềm phòng chống virus computer Hơn nữa, công nghệ nên hãng sản xuất phần mềm phòng chống virus cho phép người dùng sử dụng trial nhà sản xuất điện thoại không hỗ trợ cho khách hàng việc diệt virus Phần mềm phòng chống diệt components virus mobile phone phổ biến F- Secure Mobile Anti-Virus (bản trial có link: www.f-secure.com/products/fsmavs60) Khi bị nhiễm Cabir cách đơn giản tải chương trình miễn phí CabirFix - diệt virus Cabir http://www.jamanda.com/ Hãng Jamada phát Đào Quý Thái An – Trần Thị Mỹ Hạnh 129 Tìm hiểu công nghệ Bluetooth viết ứng dụng minh họa triển Tuy nhiên, CabirFix không ''diệt tận gốc'' mà xóa biểu tượng vài file phát được, bạn cần install ứng dụng quản lý tập tin xoá tập tin sau: :\system\apps\caribe\caribe.rsc c:\system\apps\caribe\caribe.app c:\system\apps\caribe\flo.mdl c:\system\recogs\flo.mdl c:\system\Symbiansecuredata\caribesecuritymanager\caribe.app c:\system\Symbiansecuredata\caribesecuritymanager\caribe.rsc Nếu thật rành hệ thống, bạn tìm kiếm file thư mục lây nhiễm Cabir để xóa, nhiên cách tương đối nguy hiểm Tốt đem máy đến trung tâm dịch vụ để sửa lỗi diệt virus này, cài lại hệ điều hành Symbian (có thể liệu danh bạ) Ứng dụng quản lý tập tin download free từ : http://mySymbian.com/7650/applications/applications.php?fag=2&fldAuto=88 Virus điện thoại di động mẻ Việt Nam tương lai gần, trở nên phổ biến cơng nghệ Bluetooth có nhiều tiện ích hay Tuy nhiên, chưa có biện pháp hỗ trợ cho việc bảo vệ mobile phone (phần mềm phịng chống virus ), hầu hết chuyên gia khuyên rằng: “ Tốt bạn nên tắt chế độ Bluetooth đi” Đào Quý Thái An – Trần Thị Mỹ Hạnh 130 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Chương BLUETOOTH VÀ SYMBIAN: LẬP TRÌNH SỬ DỤNG GIAO TIẾP BLUETOOTH TRÊN SYMBIAN VỚI C++ 7.1 Giới thiệu 7.1.1 Các ứng dụng Bluetooth thiết bị sử dụng hệ điều hành Symbian: Hệ điều hành Symbian (kể từ phiên Symbian 6.1 trở đi) cung cấp phần mềm hỗ trợ Bluetooth Các nhà phát triển ứng dụng phát triển ứng dụng có sử dụng Bluetooth thơng qua hàm APIs cung cấp sẵn, ví dụ phát triển phần mềm (platform) : Series 60 Developer platform 1.0, Series 60 Developer platform 2nd Edition, Series 80 Developer platform 2.0, Series 90 Developer platform 2.0 Các ứng dụng ứng dụng đơn giản point-to-point chat application, ứng dụng phức tạp game nhiều người chơi Các liên kết thiết bị nhiều thiết bị khác lúc xảy ra, điều cho phép xây dựng ứng dụng point-to-multipoint 7.1.2 Các cơng cụ phát triển ví dụ: Để xây dựng ứng dụng Bluetooth cho Symbian C++, cần phải download cài đặt SDK phù hợp với Developer Platform mà lập trình viên muốn phát triển ứng dụng Các SDK download miễn phí từ trang web Nokia Bộ SDK có chứa tất chi tiết cần thiết cho việc phát triển ứng dụng ( bao gồm tài liệu, tham khảo API, cơng cụ, trình giả lập, trình phiên dịch, ví dụ ), nhiên, cần mơi trường phát triển tích hợp (IDE ) để viết code Đào Quý Thái An – Trần Thị Mỹ Hạnh 170 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 7.2 Tổng quan Bluetooth API: Cũng giống công nghệ giao tiếp khác, Bluetooth bao gồm tập hợp nhiều thành phần, gọi stack (chồng giao thức) Chồng giao thức mô tả sơ đồ sau : Hình 7-1 Kiến trúc Bluetooth Stack _ Các thành phần Bluetooth Host Controller thông thường cài đặt phần cứng thiết bị Các ứng dụng trực tiếp truy xuất tới tầng _ Các thành phần Bluetooth Host cho phép ứng dụng gửi nhận liệu thông qua liên kết Bluetooth định cấu hình cho liên kết.Các thành phần Bluetooth Host mô tả sau: Đào Quý Thái An – Trần Thị Mỹ Hạnh 171 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa • RFCOMM : cho phép ứng dụng coi liên kết Bluetooth liên liên kết trao đổi thông tin qua cổng Serial Hay nói cách khác, giao thức cho phép giả lập cổng Serial việc truyền nhận liệu qua Bluetooth • L2CAP (Logical Link Control and Adaption Protocol): cho phép quản lý liên kết, quản lý việc phân nhỏ gói tin gửi xếp lại gói tin nhận • SDP (Service Discovery Protocol) : Được sử dụng để xác định, truy vấn dịch vụ Bluetooth cung cấp có thiết bị Các ứng dụng thường sử dụng đến bắt đầu thiết lập liên kết Bluetooth vói thiết bị Bluetooth khác • HCI (Host Controller Interface) : cho phép thành phần khác Bluetooth Host giao tiếp với phần cứng • Các hàm Bluetooth APIs Symbian OS cho phép ứng dụng sử dụng dịch vụ RFCOMM, L2CAP, SDP truy cập mức giới hạn dịch vụ HCI 7.2.1 Các nhóm hàm Bluetooth API: Các hàm Bluetooth API chia thành nhóm sau đây: • Bluetooth Sockets: Cho phép truy cập đến dịch vụ L2CAP RFCOMM thông qua giao diện socket TCP/IP • Bluetooth Service Discovery Database: Sử dụng dịch vụ SDP Các dịch vụ thiết bị sử dụng chúng để ghi nhận thuộc tính nó, nhờ đó, thiết bị khác tìm thấy xác định xem chúng có dùng khơng • Bluetooth Service Discovery Agent: Sử dụng dịch vụ SDP Nó cho phép người dùng tìm dịch vụ thuộc tính dịch vụ thiết bị Bluetooth khác • Bluetooth Security Manger: cho phép dịch vụ thiết lập yêu cầu an toàn bảo mật mà kết nối tới cần phải đáp ứng Đào Quý Thái An – Trần Thị Mỹ Hạnh 172 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa • Bluetooth Device Selection UI: Cung cấp hàm API dùng để thể dialog yêu cầu người dùng chọn thiết bị muốn giao tiếp 7.2.2 Quan hệ nhóm hàm API: Mối quan hệ nhóm hàm Bluetooth API thể hình bên Trong hàm Bluetooth API Socket đóng vai trị nhất, nhóm hàm API khác dựa vào để giao tiếp với thiết bị khác: Hình 7-2 Quan hệ nhóm hàm Bluetooth API Đào Quý Thái An – Trần Thị Mỹ Hạnh 173 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 7.3 Một vài kiểu liệu Bluetooth thơng dụng • Bluetooth device address: Mỗi thiết bị Bluetooth xác định số nguyên 48bit mô tả địa thiết bị, Symbian, mơ tả lớp TBTDevAddr, định nghĩa file header “bbtypes.h” • Universally Unique Identifier (UUID) : UUID số nguyên 128 bit định nghĩa sẵn đại diện cho dịch vụ Bluetooth UUID quản lý lớp TUUID Lớp quản lý liệu UUID đầy đủ (128 bit) quản lý dạng rút gọn Lớp TUUID định nghĩa file header “bttypes.h” • Service record Mỗi dịch vụ Bluetooth đại diện UUID lưu trữ Bluetooth Service Record Một service record chứa UUID tập thuộc tính cung cấp thơng tin dịch vụ mà lưu trữ Symbian cung cấp hàm Bluetooth SDP Database API cho phép thao tác với service record • Service class and Profiles :Service classes diễn tả số nguyên UUID Dùng để quản lý dịch vụ cung cấp thiết bị • Service profile handle : Tất service record lưu trữ SDP Database SDP Database xác định service record khác số 32 bit gọi Service Record Handle Một Service Record Handle thể lớp TSdpServRecordHandle, khai báo file header “btsdp.h” • Service Attribute ID : Mỗi service record chứa tập hợp thuộc tính thuộc tính xác định số định danh Con số thể lớp TSdpAttributeID Trong thực tế lớp mà số nguyên 16 bit Kiểu liệu định nghĩa file “btsdp.h” Symbian dùng attribute ID để xác định thuộc tính giá trị chúng SDP database • SDP database: Mỗi thiết bị Bluetooth có sở liệu cục chứa tất dịch vụ mà cung cấp Cơ sở liệu thể Đào Quý Thái An – Trần Thị Mỹ Hạnh 174 Tìm hiểu công nghệ Bluetooth viết ứng dụng minh họa lớp RSdpDatabase Lớp định nghĩa file header “btsdp.h” • Attribute ranges: Sự khác CSdpSearchPattern CSdpAttrIdMatchList CSdpAttrIdMatchList chấp nhận cấu trúc TAttrRange làm tham số Cấu trúc cho phép xác định dải attribute ID cần tìm kiếm • Data elements : Bảng sau mô tả kiểu liệu bluetooth data element, tất kiểu liệu khai báo file header “btsdp.h”: Hình 7-3 Bluetooth Data Element Types • Service search patterns: Lớp CSdpSearchPattern cho phép xác định dịch vụ cần tìm kiếm cách tạo danh sách TUUID cần tìm Lớp cung cấp hàm cho phép thao tác với danh sách TUUID mà giữ AddL, Remove, Find, v.v… • Attribute search patterns: Cũng tương tự service search pattern, Symbian cung cấp hàm cho phép xác định thuộc tính cần tìm kiếm service record Lớp Đào Quý Thái An – Trần Thị Mỹ Hạnh 175 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa CSdpAttrIdMatchList thực điều cách tạo danh sách attribute ID cần tìm kiếm 7.4 Bluetooth Sockets Trong Symbian, Bluetooth Sockets dùng để tìm kiếm thiết bị Bluetooth khác để truyền nhận liệu thông qua Bluetooth Trong q trình trao đổi thơng tin qua Bluetooth, có hai vai trị thiết lập : khởi tạo kết nối – Initiator , chấp nhận kết nối – Receiver Bên chấp nhận kết nối – Receiver khởi tạo Bluetooth lắng nghe yêu cầu kết nối từ Initiator Một kết nối thiết lập, hai có vai trị nhau, có khả gửi, nhận liệu, chấm dứt kết nối Các hàm API Bluetooth Sockets hỗ trợ giao tiếp với hai tầng giao thức L2CAP RFCOMM.Các hàm Bluetooth Sockets API dựa Socket Client Side API, cung cấp hàm API chuẩn cho phép thiết bị hoạt động Client tạo kết nối với thiết bị Bluetooth khác Ngồi ra, hoạt động Server, cho phép thiết bị khác kết nối vào Khi kết nối thiết lập, thiết bị thực gửi nhận liệu trước kết thúc kết nối Bluetooth Socket API thêm vào kiểu liệu số phù hợp cho phép hàm Socket API sử dụng với Bluetooth Bluetooth Socket API có khái niệm : địa socket, tìm kiếm thiết bị ( remote device inquiry), tập lệnh tùy chọn RFCOMM, tập lệnh L2CAP, tập lệnh HCI 7.4.1 Mở cấu hình Bluetooth Socket : Đào Quý Thái An – Trần Thị Mỹ Hạnh 176 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Hình 7-4 Bluetooth Sockets Mọi Bluetooth Socket phải thông qua Socket Server để giao tiếp với Bluetooth socket khác, vậy, trước mở Socket, ta phải kết nối vào socket server thiết bị Lớp RSocketServ dùng để giao tiếp với socket server thiết bị Để kết nối vào socket server, ta khai báo đối tượng kiểu RSocketServ gọi hàm Connect: RSocketServ socksvr; err = socksvr.Connect(); User::LeaveIfError(err); Symbian OS cung cấp lớp RSocket để mở cấu hình loại socket Tùy theo Protocol sử dụng mà ta mở loại socket khác Để mở socket , ta sử dụng hàm Open() sau: TInt Open(RSocketServ& aServer, TUint addrFamily, TUint sockType, TUint protocol ); Đào Quý Thái An – Trần Thị Mỹ Hạnh 177 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Trong : * RSocketServ& aServer : Là Socket server kết nối tới * Tuint addrFamily :Kiểu địa kết nối thực hiện, kết nối Bluetooth KBTAddrFamily, TCP/IP KafInet * Tuint sockType: Xác định loại socket sử dụng, ví dụ : TCP KSockStream * Tuint protocol :Xác định loại protocol sử dụng * Đối với Bluetooth, sử dụng giao thức RFCOMM sockType KsockStream protocol KRCOMM; cịn sử dụng giao thức L2CAP sockType KsockSeqPaket protocol KL2CAP 7.4.2 Xây dựng Bluetooth Socket Server : Lắng nghe chấp nhận kết nối từ thiết bị Client : Để thiết lập kết nối Bluetooth hai thiết bị, hai thiết bị phải thiết lập, khởi tạo Socket Bluetooth trạng thái lắng nghe, sau chập nhận kết nối có yêu cầu kết nối tới từ thiết bị khác Các bước để tạo Bluetooth Socket Server thực sau : Đào Quý Thái An – Trần Thị Mỹ Hạnh 178 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa RSocket::Open() RSocket:: Bind() RSocket::Listen() Accept() Chấp nhận kết nối thiết lập blank socket RSocket::Close() Hình 7-5 Các bước khởi tạo Bluetooth Socket Server Kết nối vào Socket server thiết bị chọn protocol cần sử dụng Mở socket tương ứng với protocol sử dụng Tạo đối tượng địa Bluetooth Socket thuộc lớp TBTSockAddr thiết lập cổng (port) server channel (đối với giao thức L2CAP RFCOMM có khác biệt) , sau kết buộc socket vào địa hàm RSocket::Bind() Đưa socket vừa tạo vào trang thái lắng nghe kết nối tới hàm: RSocket::Listen(); Tạo socket trống (blank socket) truyền tới cho socket listen thông qua hàm RSocket::Accept(RSocket &acceptSocket, ) Khi hàm kết thúc, socket truyền tham số hàm kết nối với thiết bị khác dùng để truyền nhận liệu Socket lắng nghe lúc tồn Đào Quý Thái An – Trần Thị Mỹ Hạnh 179 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa sẵn sàng để truyền vào socket trống khác tạo kết nối khác Khi ứng dụng đóng vai trị Server hay Receiver kết thúc, cần phải đóng socket listen, tất socket kết nối Đoạn code sau minh họa việc tạo Bluetooth socket server lắng nghe kết nối: // Kết nối tới socket server secsion RSocketServ socketServ; socketServ.Connect(); TProtocolDesc pInfo; _LIT(KL2Cap, "L2CAP"); // RFCOMM tùy giao thức sử dụng // Mở socket để lắng nghe RSocket listen; listen.Open(socketServ,KL2Cap); // Khởi tạo đối tượng địa bluetooth socket TBTSockAddr addr; addr.SetPort(KListeningPSM); // Kết buôc socket lắng nghe User::LeaveIfError(listen.Bind(addr)); // Bắt đầu lắng nghe yêu cầu kết nối từ thiết bị khác User::LeaveIfError(listen.Listen(2)); // Chơ đợi thực kết nối có yêu cầu kết nối RSocket accept; TRequestStatus status; User::LeaveIfError(accept.Open(socketServ)); Đào Quý Thái An – Trần Thị Mỹ Hạnh 180 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa listen.Accept(accept,status); User::WaitForRequest(status); // Nếu status == KerrNone : accept socket kết nối thành công Trước chấp nhận kết nối tới, cần phải thiết lập yêu cầu an toàn bảo mật kết nối (xem phần Bluetooth Security Manager), cần phải quảng bá dịch vụ sử dụng thiết bị để thiết bị khác sử dụng kết nối ( Bluetooth Service Discovery Database) 7.4.3 Xây dựng Bluetooth Socket Client : Tìm kiếm kết nối tới thiết bị Server Để ứng dụng thiết bị Bluetooth kết nối tới thiết bị Bluetooth khác, cần phải thực bước sau : đầu tiên, cần phải xác định thiết bị server mà người sử dụng muốn kết nối tới, tiếp đó, ứng dụng cần xác định xem dịch vụ mà cần có server hay không, cuối cùng, ứng dụng thực kết nối với thiết bị server, thực việc trao đổi liệu kết nối thành công 7.4.3.1 Chọn thiết bị để kết nối tới : Ứng dụng xác định thiết bị mà cần kết nối tới số cách sau : + Kết nối cứng (hard-wired) mặc định thiết lập trước + Kết nối với thiết bị lưu thông tin từ trước + Chọn lựa người dùng thông qua Bluetooth Device Selection UI + Hoặc xác định qua lập trình : ứng dụng tự động xác định thiết bị mà muốn kết nối 7.4.3.2 Truy vấn thơng tin thiết bị xung quanh: + Mỗi thiết bị Bluetooth có địa 48 bit xây dựng bên phần cứng nó, có tên thiết bị để thể tới người dùng Đào Quý Thái An – Trần Thị Mỹ Hạnh 181 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa + Địa tên thiết bị thực truy vấn thông qua lớp socket RHostResolver Symbian Trong truy vấn, lớp địa socket đặc biệt sử dụng, lớp TInquirySockAddr, chứa đựng địa Bluetooth, mã truy cập, dịch vụ (services) lớp thiết bị, cung cấp thực truy vấn b.1 Thực truy vấn địa thiết bị kết nối tới thực qua bước : + Kết nối tới Socket server (RSocketServ) chọn loại giao thức sử dụng cách gọi hàm RSockeServ::FindProtocol() Do truy vần địa tên thiết bị cung cấp chồng giao thức BTLinkManager, chọn giao thức + Tạo thiết lập đối tượng RHostResolver + Thiết lập tham số TInquirySockAddr cho trình truy vấn: truy vấn địa chỉ, cờ KHostResInquiry cần phải thiết lập thông qua hàm TInquirySockAddr::SetAction(KHostResInquiry); Sau đó, việc truy vấn bắt đầu lời gọi hàm: RHostResolver::GetByAddress(const TSockAddr &anAddr, TNameEntry &aResult); RHostResolver::GetByAddress(const TSockAddr &anAddr, TNameEntry &aResult, TResquestStatus&aStatus); + Sau kết thúc hàm GetByAddress(), tham số TnameEntry &aResult chứa địa lớp thiết bị tìm được, khơng xác định khơng tìm thấy thiết bị Tham số aStatus chứa mã lỗi trả về, KErrNone thành công + Để tiếp tục truy vấn thiết bị khác có, sử dụng hàm RHostResolver::Next() KerrHostResNoMoreResults trả Đào Quý Thái An – Trần Thị Mỹ Hạnh 182 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Đoạn code sau mô tả cách thực việc truy vần địa tên thiết bị Bluetooth xung quanh: // Kết nối socket server section RSocketServ socketServ; socketServ.Connect(); TProtocolDesc pInfo; _LIT(KL2Cap, "BTLinkManager"); User::LeaveIfError(socketServ.FindProtocol(KL2Cap,pInfo)); // Tạo khởi tạo đối tượng RHostResolver RHostResolver hr; User::LeaveIfError(hr.Open(socketServ,pInfo.iAddrFamily,pInfo.iProtocol)); // Thiết lập truy vấn thực truy vấn TInquirySockAddr addr; TNameEntry name; addr.SetIAC(KGIAC); addr.SetAction(KHostResInquiry); TRequestStatus status; hr.GetByAddress(addr, entry, status); // thông tin tra lưu entry User::WaitForRequest(status); // Xử lý thông tin địa thiết bi trả entry b.2 Truy vấn tên thiết bị: Để truy vấn tên thiết bị khác, ta thực tương tự việc truy vấn địa thiết bị với thiết lập đối tượng TInquirySockAddr KHostResName qua hàm TInquirySockAddr::SetAction(KhosResName); Ví dụ: Đào Quý Thái An – Trần Thị Mỹ Hạnh 183 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa // Thực truy vấn tên thiết bị xung quanh: addr.SetAction(KHostResName); hr.GetByAddress(addr, entry, stat); User::WaitForRequest(stat); TPtrC deviceName; if (stat == KErrNone) deviceName.Set(entry().iName); Việc truy vấn địa tên thiết bị xung quanh thực lúc cách thiết lập đối tượng TInquirySockAddr với hàm SetAction sau : TInquirySockAddr::SetAction(KhostResName | KhostResEntry) 7.4.3.3 Truy vấn dịch vụ cung cấp thiết bị Server : Trên thiết bị Bluetooth cung cấp nhiều dịch vụ Bluetooth , bảng thông tin dịch vụ cung cấp có từ lớp thiết bị (class of device) Lớp thiết bị lấy thông qua lời gọi hàm : TInquirySockAddr::MajorClassOfDevice() sau thực truy vấn địa thiết bị Trong tình cụ thể, việc xác định thông tin dịch vụ lớp thiết bị khơng đầy đủ để xác định chọn thiết bị nào, trường hợp đó, việc truy vấn tìm kiếm dịch vụ thực thiết bị tìm thấy để chọn thiết bị cần.Việc truy vấn dịch vụ SDP (Service Discovery Database ) thực thông qua Bluetooth Service Discovery Agen API (xem chi tiết phần sau) 7.4.3.4 Kết nối với thiết bị chọn thực trao đổi liệu: Khi mà xác định thiết bị dịch vụ cung cấp, thực kết nối với thiết bị dịch vụ thiết bị đó, sử dụng dịch vụ cung cấp Việc kết nối với thiết bị thực thông qua hàm Connect() lớp RSocket với giao thức L2CAP RFCOMM Đối với Bluetooth Đào Quý Thái An – Trần Thị Mỹ Hạnh 184 ... Symb/Cabir-B vào máy Đào Quý Thái An – Trần Thị Mỹ Hạnh 128 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 3. 3 Các giải pháp an tồn bảo mật sử dụng cơng nghệ mạng Bluetooth 3. 3.1 Những mẹo an tồn... thời gian sản xuất vào cuối năm Đào Quý Thái An – Trần Thị Mỹ Hạnh 135 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa 4 .3. 2 Những ứng dụng Bluetooth: Hình 4-1 Những thiết bị ứng dụng Bluetooth. .. Quý Thái An – Trần Thị Mỹ Hạnh 140 Tìm hiểu cơng nghệ Bluetooth viết ứng dụng minh họa Phần HỆ ĐIỀU HÀNH SYMBIAN Để minh họa cho việc sử dụng công nghệ Bluetooth, chúng em xây dựng ứng dụng nhỏ

Ngày đăng: 12/08/2014, 10:20

Từ khóa liên quan

Mục lục

  • MUC LUC

  • Phan I LY THUYET VE BLUETOOTH

    • Chương 1 GIỚI THIỆU TỔNG QUAN VỀ BLUETOOTH

      • 1.1. Khái niệm Bluetooth.

      • 1.2. Lịch sử, hình thành và phát triển của Bluetooth.

        • 1.2.1. Lịch sử tên Bluetooth:

        • 1.2.2. Hình thành và phát triển của Bluetooth:

        • 1.3. Các đặc điểm của Bluetooth.

        • 1.4. Ứng dụng của Bluetooth.

          • 1.4.1. Thiết bị thông minh.

          • 1.4.2. Thiết bị truyền thanh.

          • 1.4.3. Thiết bị truyền dữ liệu.

          • 1.4.4. Các ứng dụng nhúng.

          • 1.4.5. Một số ứng dụng khác.

          • Chương 2 KỸ THUẬT BLUETOOTH .

            • 2.1. Các khái niệm dùng trong công nghệ Bluetooth.

              • 2.1.1. Master Unit :

              • 2.1.1. Slaver Unit :

              • 2.1.2. Piconet:

              • 2.1.3. Scatternet:

              • 2.1.4. Kết nối theo kiểu ad hoc:

              • 2.1.5. Định nghĩa các liên kết vật lý trong Bluetooth:

              • 2.1.6. Trạng thái của thiết bị Bluetooth:

              • 2.1.7. Các chế độ kết nối:

              • 2.2. Bluetooth Radio.

                • 2.2.1. Ad Hoc Radio Connectivity

                • 2.2.2. Kiến trúc của hệ thống Bluetooth Radio

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan