TinySniffer เป็นอุปกรณ์ USB sniffer (ใช้ดักจับข้อมูล) ที่ใช้ NanoPi Neo Air SBC พร้อม Allwinner H3 ออกแบบมาเพื่อดักจับแพ็คเก็ต USB 1.x และ 2.0 จากระยะไกล และข้อมูลที่ดักจับได้สามารถใช้งานร่วมกับเครื่องมือวิเคราะห์แพ็กเก็ตยอดนิยมอย่าง Wireshark ได้
ปัจจุบัน Wireshark สามารถใช้ดักจับแพ็คเก็ต USB ได้เองอยู่แล้ว และเราเคยทำวิศวกรรมย้อนรอย (Reverse Engineering) เพื่อสร้างโซลูชันการจับภาพ USB แบบวิดีโอด้วยวิธีนี้ในอดีต แต่วิธีนี้มีข้อจำกัดบางประการ เช่น ไม่สามารถดักจับแพ็กเก็ต USB ระดับต่ำบางรายการได้ ในกรณีนี้จำเป็นต้องใช้เครื่องมือฮาร์ดแวร์ USB sniffer เช่น Total Phase Beagle USB , PhyWhisperer USB หรือ tinySniffer
พอร์ต micro USB OTG ของ NanoPi NEO Air SBC เชื่อมต่อกับคอมพิวเตอร์โฮสต์และบริษัทได้เพิ่มพอร์ต USB 2.0 Type-A ที่เชื่อมต่อกับอินเทอร์เฟส USB บนบน GPIO header เพื่อเชื่อมต่ออุปกรณ์ทดสอบ เช่น คีย์บอร์ด USB,USB Ethernet dongle, USB ปริ้นเตอร์ และอื่นๆ
หลังจากกำหนดค่า WiFi เสร็จแล้ว ผู้ใช้สามารถเข้าถึงเครื่องมือดักจับแพ็กเก็ต USB ของ tinySniffer จากระยะไกลโดยไปที่ เว็บไซต์ https://www.usb7.net/ และเลือก “My Devices” จะเปิดหน้าต่างเทอร์มินัลในเบราว์เซอร์ของคุณ และคุณจะสามารถดักจับแพ็กเก็ตได้ด้วยคำสั่ง sniff
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
sniff@tinySniffer:~$ sniff -h Usage: sniff [-h] [-i] [-u UPLOAD_FILENAME] [-s] [-r] [-R] [-F [FILTERS]] tinySniffer starts usb capture when: 1) tinySniffer (with usb peripheral plugged) is connected to usb host (this powers on tinySniffer) (save to new file) 2) usb peripheral is unplugged and re-plugged to tinySniffer (save to new file) 3) run "sniffer.py -r" to restart usb capture and save to new file 4) run "sniffer.py -R" to emulate usb peripheral unplug / replug, restarts usb capture and save to new file optional arguments: -h, --help show this help message and exit -i, --info show usb capture info -u UPLOAD_FILENAME, --upload UPLOAD_FILENAME stop usb capture and upload captured file -s, --stop stop usb capture -r, --restart restart usb capture and save to new file -R, --RESTART emulate usb peripheral unplug / replug, restart usb capture and save to new file -F [FILTERS], --FILTERS [FILTERS] set capture filter, support multiple filters, separated by "," must use together with -r or -R argument to restart usb capture supported capture filters are: URB_ISO_OUT, URB_ISO_IN, URB_BULK_OUT, URB_BULK_IN examples: sniff -F URB_ISO_OUT,URB_ISO_IN -r sniff -F URB_BULK_OUT -R sniff -F URB_ISO_OUT,URB_ISO_IN,URB_BULK_OUT,URB_BULK_IN -R sniff -F -R # this is to clear capture filters |
หมายเหตุ tinySniffer รันระบบปฏิบัติการ tinyDebian Linux ซึ่งเราเคยกล่าวถึงในบทความเกี่ยวกับ NanoPi NEO Air SBC ที่ดัดแปลงด้วยโมดูล WiFi แบบ dual-band จากบริษัทเดียวกัน ทั้ง tinyDebian OS และคำสั่ง sniff ดูเหมือนจะไม่เป็นซอฟต์แวร์โอเพ่นซอร์ส ดังนั้นคุณไม่สามารถทำการสร้าง USB sniffer นี้ใหม่ได้ถ้าคุณมีบอร์ด NanoPi NEO Air อยู่แล้ว
tinySniffer มีราคาแพงถ้าเทียบกับ NanoPi Air NEO ที่ขายในราคา $23(~830฿) โดย tinySniffer ขายราคา $199(~7,200฿) ที่ Tindie ซึ่งเป็นราคาที่ใกล้เคียงกับโซลูชันการดักจับแพ็กเก็ต USB ที่ใช้ FPGA
แปลจากบทความภาษาอังกฤษ : tinySniffer WiFi-connected USB sniffer is based on NanoPi NEO Air SBC
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT