Ceci est une ancienne révision du document !
Programme BASH pour détecter rapidement les signaux BT
Nécessite l’installation préablable du paquet expect.
<!DOCTYPE HTML PUBLIC “-W3CDTD HTML 4.0 TransitionalEN”> <html> <head> <meta http-equiv=“content-type” content=“text/html; charset=utf-8”/> <title></title> <meta name=“generator” content=“LibreOffice 6.4.7.2 (Linux)”/> <meta name=“created” content=“2021-12-08T14:19:03.557688605”/> <meta name=“changed” content=“2021-12-08T14:29:01.210205966”/> <style type=“text/css”> @page { size: 21cm 29.7cm; margin: 2cm } p { margin-bottom: 0.25cm; line-height: 115%; background: transparent } </style> </head> <body lang=“fr-FR” link=“#000080” vlink=“#800000” dir=“ltr”><p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>#!/bin/bash</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># beacon-scan.sh</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># Displays beacons including duplicates in real time.</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># Uses expect to automate interaction with bluetoothctl. -> sudo apt-get install expect </font> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># Uses sed to remove bluetoothctl colorization escape characters.</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># Uses grep to filter out beacon manufacturer data logging.</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”># Uses Perl to prefix each beacon with a timestamp.</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>if [ "$(id -u)" != "0" ]; then</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>echo "ERROR: must run as root"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>exit 1</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>fi</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>(cat <<'END' | /usr/bin/expect</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>set Prompt "#"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>set timeout -1</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>spawn bluetoothctl</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "scan off\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "remove *\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "set-scan-filter-clear\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "set-scan-filter-transport le\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "scan on\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>trap {</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "scan off\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "remove *\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect -re $Prompt</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>send "quit\r"</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>} SIGINT</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>expect eof</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/> </p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>END</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <font face=“Tlwg Typist”>) | sed –unbuffered –quiet –expression 's/^.*Device p' \</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”>
<font face="Tlwg Typist">| grep --line-buffered -v ManufacturerData
\</font></p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”>
<font face="Tlwg Typist">| perl -nle 'print scalar(localtime), "
", $_'<br/> </font><br/>
</p> <p style=“margin-left: 2.6cm; margin-right: 9.3cm; margin-bottom: 0cm; border: 1px solid #000000; padding: 0.5cm; line-height: 100%; background: transparent”> <br/>
</p> </body> </html>