done < <(paste -d ' '$_TMP/pipe1 $_TMP/pipe2 $_TMP/pipe3 $_TMP/pipe4)#the 'paste' command merges the lines of both named pipes and separates them with a space. the '< <' operator to redirect the merged output as input to the while loop.
rm -rf $_TMP#remove the temporary directory and all its contents recursively (-r) and without prompting (-f)
verbose_msg "=> $_PCKS_CNTR for no filter"
verbose_msg "=> $_PCKS_WLAN_CNTR for filter 'wlan'"
if ! [[$_SSID_REF=='']];then
verbose_msg "=> $_PCKS_SSID_CNTR for filter 'wlan.ssid == $_SSID_REF'"
fi
verbose_msg "=> $_SCOPE_ALL_CNTR for filter '$filter'"
if[[$_UNIQ_FLAG=='true']];then
if[[$_UNIQ_FLAG=='true']];then
verbose_msg "Counting packets with filter '$filter' in $_FILE_REF"
_SCOPE_ALL_CNTR=$(tshark -r $_FILE_REF -Y "$filter" -T fields -e wlan.ta -c $_MAX_TO| tr '[:lower:]''[:upper:]'| sort | uniq | tee >(wc -l) >"$_FILE2_TMP")#for details see 'man tshark'. tr swap all upper-case. sort+uniq remove the duplicates. tee split the data in the pipe.
verbose_msg "=> $_SCOPE_ALL_CNTR"
if[[$_VERBOSE_FLAG=='true']];then
if[[$_VERBOSE_FLAG=='true']];then
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| sort | uniq | tee >(wc -l) >"$_FILE_TMP")#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary). tee split the data in the pipe.
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| sort | uniq | tee >(wc -l) >"$_FILE_TMP")#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary). tee split the data in the pipe.
else
else
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| sort | uniq | wc -l)#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary).
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| sort | uniq | wc -l)#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary).
fi
fi
else
else
verbose_msg "Counting packets with filter '$filter' in $_FILE_REF"
_SCOPE_ALL_CNTR=$(tshark -r $_FILE_REF -Y "$filter" -T fields -e wlan.ta -e wlan.fc.type -c $_MAX_TO| tr '[:lower:]''[:upper:]'| tee >(wc -l) >"$_FILE2_TMP")#for details see 'man tshark'. tr swap all upper-case. tee split the data in the pipe.
verbose_msg "=> $_SCOPE_ALL_CNTR"
if[[$_VERBOSE_FLAG=='true']];then
if[[$_VERBOSE_FLAG=='true']];then
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| tee >(wc -l) >"$_FILE_TMP")#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). tee split the data in the pipe.
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| tee >(wc -l) >"$_FILE_TMP")#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). tee split the data in the pipe.
else
else
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| wc -l)#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx).
_SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP| awk '/^.[AE26]:..:..:..:..:../{print $1}'| wc -l)#cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx).
# filter="($scope) && (wlan) $filterSSID" #save the complete filter which wanna use to split the data.
# rm -f $_FILE_TMP $_FILE2_TMP #just as a precaution.
# if [[ $_UNIQ_FLAG == 'true' ]]; then
# verbose_msg "Counting packets with filter '$filter' in $_FILE_REF"
# _SCOPE_ALL_CNTR=$(tshark -r $_FILE_REF -Y "$filter" -T fields -e wlan.ta -c $_MAX_TO | tr '[:lower:]' '[:upper:]' | sort | uniq | tee >(wc -l) >"$_FILE2_TMP") #for details see 'man tshark'. tr swap all upper-case. sort+uniq remove the duplicates. tee split the data in the pipe.
# verbose_msg "=> $_SCOPE_ALL_CNTR"
# if [[ $_VERBOSE_FLAG == 'true' ]]; then
# _SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP | awk '/^.[AE26]:..:..:..:..:../{print $1}' | sort | uniq | tee >(wc -l) >"$_FILE_TMP") #cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary). tee split the data in the pipe.
# else
# _SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP | awk '/^.[AE26]:..:..:..:..:../{print $1}' | sort | uniq | wc -l) #cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). sort+uniq remove the duplicates(seems useless but necessary).
# fi
# else
# verbose_msg "Counting packets with filter '$filter' in $_FILE_REF"
# _SCOPE_ALL_CNTR=$(tshark -r $_FILE_REF -Y "$filter" -T fields -e wlan.ta -e wlan.fc.type -c $_MAX_TO | tr '[:lower:]' '[:upper:]' | tee >(wc -l) >"$_FILE2_TMP") #for details see 'man tshark'. tr swap all upper-case. tee split the data in the pipe.
# verbose_msg "=> $_SCOPE_ALL_CNTR"
# if [[ $_VERBOSE_FLAG == 'true' ]]; then
# _SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP | awk '/^.[AE26]:..:..:..:..:../{print $1}' | tee >(wc -l) >"$_FILE_TMP") #cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx). tee split the data in the pipe.
# else
# _SCOPE_RAND_CNTR=$(cut -c 1-17 $_FILE2_TMP | awk '/^.[AE26]:..:..:..:..:../{print $1}' | wc -l) #cut print selected parts of line. awk is used to consider only MAC specified(x[A E 2 6]:xx:xx:xx:xx:xx).
echo&&echo -e "${LOOKGOOD}$_FILE2_TMP${DEFAULT}"&& head -n $N"$_FILE2_TMP"&&echo"..."&&echo"[Frame Control Type:]" &&echo"[0-Management Frame, 1-Control Frame, 2-Data Frame, 3-Extension Frame, (4+)-PV1 Reserved]"
echo&&echo -e "${LOOKGOOD}$_FILE2_TMP${DEFAULT}"&& head -n $N"$_FILE2_TMP"&&echo"..."&&echo"[MAC Address] [Frame Control Type:]" &&echo"[0-Management Frame, 1-Control Frame, 2-Data Frame, 3-Extension Frame, (4+)-PV1 Reserved]"
elif[$(wc -l < $_FILE2_TMP) -gt $N];then
elif[$(wc -l < $_FILE2_TMP) -gt $N];then
echo&&echo -e "${LOOKGOOD}$_FILE2_TMP${DEFAULT}"&& head -n $N"$_FILE2_TMP"&&echo"..."
echo&&echo -e "${LOOKGOOD}$_FILE2_TMP${DEFAULT}"&& head -n $N"$_FILE2_TMP"&&echo"..."
elif[$(wc -l < $_FILE2_TMP) -gt 0];then
elif[$(wc -l < $_FILE2_TMP) -gt 0];then
@ -249,26 +292,26 @@ if ! [ -t 0 ]; then #checks if the descriptor is opened with a redirection, reg
if[ -p /dev/stdin ];then#checks if there is a pipe redirection. Redirection from a command and not from a file.
if[ -p /dev/stdin ];then#checks if there is a pipe redirection. Redirection from a command and not from a file.
if[[$_PROBE_FLAG=='true']];then#checks if we want to process a data stream (from tcpdump).
if[[$_PROBE_FLAG=='true']];then#checks if we want to process a data stream (from tcpdump).
trap handle_sigint SIGINT #set up a trap for SIGINT
trap handle_sigint SIGINT #set up a trap for SIGINT
lock_print=$(mktemp)#creates a unique temporary file name in /tmp/ folder.
lock_print=$(mktemp)#creates a unique temporary file in /tmp/ folder.
_FILE_REF="$_FILE3_TMP"
_FILE_REF="$_FILE3_TMP"
sleep 2 #waiting to have something to analyze
sleep 2 #waiting to have something to analyze
echo -ne "\033[2J\033[H"#The "\033[2J" sequence clear the terminal screen, the "\033[H" sequence moves the cursor to the top left corner of the screen.
echo -ne "\033[2J\033[H"#the "\033[2J" sequence clear the terminal screen, the "\033[H" sequence moves the cursor to the top left corner of the screen.
while true
while true
do
do
filtering_away > $lock_print
filtering_away > $lock_print
check_ret filtering_away $?
check_ret filtering_away $?
print_results >> $lock_print
print_results >> $lock_print
check_ret print_results $?
check_ret print_results $?
echo -e "\033[2J\033[H"#The "\033[2J" sequence clear the terminal screen, the "\033[H" sequence moves the cursor to the top left corner of the screen.
echo -e "\033[2J\033[H"#the "\033[2J" sequence clear the terminal screen, the "\033[H" sequence moves the cursor to the top left corner of the screen.
echo"$(cat $lock_print)"#The "$()" syntax is used to execute the command inside the parentheses and return the result as a string (used to handle print cases TO REVIEW)
echo"$(cat $lock_print)"#The "$()" syntax is used to execute the command inside the parentheses and return the result as a string (used to handle print cases TO REVIEW)
done
done
else
else
_FILE_REF=$(mktemp)#creates a unique temporary file name in /tmp/ folder.
_FILE_REF=$(mktemp)#creates a unique temporary file in /tmp/ folder.
cat /dev/stdin > "$_FILE_REF"
cat /dev/stdin > "$_FILE_REF"
fi
fi
else
else
if head -c4 | od -t x4 -N4 | grep -q -e "a1b2c3d4" -e "d4c3b2a1" -e "0a0d0d0a";then#handled only pcap, pcapng files (not erf ...) using magic number of file.
if head -c4 | od -t x4 -N4 | grep -q -e "a1b2c3d4" -e "d4c3b2a1" -e "0a0d0d0a";then#handled only pcap, pcapng files (not erf ...) using magic number of file.
_FILE_REF=$(mktemp)#creates a unique temporary file name in /tmp/ folder.
_FILE_REF=$(mktemp)#creates a unique temporary file in /tmp/ folder.
Il supporto per gli indirizzi MAC randomizzati non sempre disponibile su tutti i dispositivi Android a causa di limitazioni hardware o software. In alcuni casi, i dispositivi pi vecchi potrebbero non essere in grado di supportare la funzionalit di indirizzi MAC randomizzati a causa delle limitazioni hardware, ad esempio di una scheda di rete che non dispone di hardware per la generazione di indirizzi MAC randomizzati. Inoltre, l'implementazione degli indirizzi MAC randomizzati potrebbe essere influenzata anche dalle politiche di privacy e sicurezza del produttore del dispositivo o dell'operatore di rete mobile. Alcuni produttori potrebbero decidere di non implementare questa funzionalit perch non rientra nei loro obiettivi di sicurezza e privacy, oppure perch la loro politica di sicurezza prevede l'utilizzo di indirizzi MAC statici per motivi di tracciabilit e identificazione dei dispositivi.
WPA3 (Wi-Fi Protected Access 3) è stata introdotta per migliorare la sicurezza delle reti Wi-Fi rispetto alla precedente versione di sicurezza WPA2. Tra le principali ragioni per cui è stato introdotto WPA3 ci sono:
WPA3 (Wi-Fi Protected Access 3) stata introdotta per migliorare la sicurezza delle reti Wi-Fi rispetto alla precedente versione di sicurezza WPA2. Tra le principali ragioni per cui stato introdotto WPA3 ci sono:
1 Maggiore resistenza agli attacchi di tipo brute-force: WPA3 utilizza un sistema di autenticazione più robusto rispetto a WPA2, basato sull'algoritmo di autenticazione Dragonfly. Questo rende più difficile per gli attaccanti individuare le password delle reti Wi-Fi.
1 Maggiore resistenza agli attacchi di tipo brute-force: WPA3 utilizza un sistema di autenticazione pi robusto rispetto a WPA2, basato sull'algoritmo di autenticazione Dragonfly. Questo rende pi difficile per gli attaccanti individuare le password delle reti Wi-Fi.
2 Miglioramenti alla privacy: WPA3 introduce un nuovo protocollo di crittografia di tipo forward secrecy, che migliora la privacy degli utenti. Questo significa che anche se un attaccante riesce a decrittare il traffico di una sessione di rete Wi-Fi, non sarà in grado di decrittare il traffico delle sessioni precedenti o successive.
2 Miglioramenti alla privacy: WPA3 introduce un nuovo protocollo di crittografia di tipo forward secrecy, che migliora la privacy degli utenti. Questo significa che anche se un attaccante riesce a decrittare il traffico di una sessione di rete Wi-Fi, non sar in grado di decrittare il traffico delle sessioni precedenti o successive.
3 Protezione dalle vulnerabilità legate alla gestione delle chiavi di sicurezza: WPA3 migliora la gestione delle chiavi di sicurezza rispetto a WPA2, introducendo il protocollo di scambio di chiavi Simultaneous Authentication of Equals (SAE). SAE fornisce una maggiore protezione contro gli attacchi di tipo dictionary e permette di impostare password più robuste.
3 Protezione dalle vulnerabilit legate alla gestione delle chiavi di sicurezza: WPA3 migliora la gestione delle chiavi di sicurezza rispetto a WPA2, introducendo il protocollo di scambio di chiavi Simultaneous Authentication of Equals (SAE). SAE fornisce una maggiore protezione contro gli attacchi di tipo dictionary e permette di impostare password pi robuste.
Inoltre, negli ultimi anni si è assistito all'adozione di indirizzi MAC randomizzati per aumentare la privacy degli utenti. L'indirizzo MAC (Media Access Control) è un identificatore univoco assegnato a ogni dispositivo che si connette a una rete Wi-Fi e può essere utilizzato per tracciare l'attività degli utenti.
Inoltre, negli ultimi anni si assistito all'adozione di indirizzi MAC randomizzati per aumentare la privacy degli utenti. L'indirizzo MAC (Media Access Control) un identificatore univoco assegnato a ogni dispositivo che si connette a una rete Wi-Fi e pu essere utilizzato per tracciare l'attivit degli utenti.
Gli indirizzi MAC randomizzati sono stati introdotti per proteggere la privacy degli utenti impedendo il tracciamento della loro attivit online. In pratica, il dispositivo utilizza un indirizzo MAC diverso ad ogni connessione, rendendo pi difficile per le societ di analisi o gli attaccanti tracciare l'attivit degli utenti. Tuttavia, l'utilizzo di indirizzi MAC randomizzati potrebbe causare problemi di compatibilit con alcune reti Wi-Fi, poich alcuni dispositivi richiedono un indirizzo MAC univoco per la connessione alla rete.
Per quanto riguarda il settore della comunicazione mobile, il 5G rappresenta una svolta tecnologica, poich permette di supportare nuovi servizi e applicazioni come la realt aumentata, la realt virtuale, il cloud computing, l'Internet delle Cose (IoT) e molto altro ancora. Inoltre, il 5G supporta un maggior numero di dispositivi per unit di superficie rispetto al 4G, consentendo di soddisfare la crescente domanda di connettivit mobile. Il 5G utilizza una combinazione di diverse tecnologie, come la modulazione OFDM (Orthogonal Frequency Division Multiplexing) e l'accesso radio NB-IoT (Narrowband Internet of Things), per fornire una maggiore capacit di trasmissione dati, una velocit di trasferimento pi elevata e una latenza pi bassa rispetto al 4G.
Per quanto riguarda il WiFi, il 5G e il WiFi sono tecnologie complementari che possono lavorare insieme per offrire una connessione pi veloce e affidabile. Il WiFi una tecnologia di rete locale wireless che utilizza le onde radio per connettere dispositivi ad una rete. Il 5G, d'altra parte, una tecnologia di rete cellulare che offre una connessione mobile veloce e affidabile. Il protocollo 802.11 del WiFi e il protocollo 5G sono stati sviluppati per funzionare in modo indipendente, ma possono essere utilizzati insieme per offrire una connessione Internet pi veloce e affidabile. Ad esempio, alcune implementazioni di 5G, come il 5G FWA (Fixed Wireless Access), utilizzano il WiFi come mezzo per trasmettere i dati in un'area specifica.
5G is the fifth generation of wireless technology that promises to deliver faster data transfer speeds, lower latency, and increased network capacity. It is designed to enable a wide range of new applications and use cases that were previously not possible with 4G technology, such as remote surgery, autonomous vehicles, and smart cities.
5G technology is based on a new radio access technology called New Radio (NR), which uses higher frequency bands (millimeter waves) than previous generations of wireless technology. This allows 5G networks to deliver much faster data transfer speeds compared to 4G.
In addition to faster speeds, 5G also promises to reduce latency (the time it takes for a device to communicate with the network) to under 1 millisecond, which is critical for real-time applications such as gaming, virtual reality, and remote surgery.
5G networks also offer greater network capacity, which means they can support more devices and data traffic than 4G networks. This is important for the growth of the Internet of Things (IoT) and other connected devices, which require reliable and high-speed network connections.
Overall, 5G is expected to revolutionize the way we use wireless technology and enable new applications that were previously not possible. However, the rollout of 5G networks is still ongoing and faces challenges such as the need for more infrastructure and the use of higher frequency bands that have limited coverage compared to lower frequency bands.
802.11 is a set of standards for wireless local area networks (WLANs) developed by the Institute of Electrical and Electronics Engineers (IEEE). It is commonly known as Wi-Fi, and it allows devices to connect to the internet or other devices wirelessly. The 802.11 standards define the protocols and technologies for wireless communication, including the frequency bands used for transmission, the data transfer rates, and the security and encryption methods used to protect the data being transmitted. There are several different versions of the 802.11 standard, including 802.11a, 802.11b, 802.11g, 802.11n, and 802.11ac, each with different specifications and capabilities. 802.11 has become an essential part of modern networking, enabling wireless connectivity in homes, offices, and public spaces.
5G and 802.11 are both wireless communication technologies, but they differ in several key areas. Here's a comparison of 5G and 802.11 in terms of their similarities and differences, use cases and applications, advantages and disadvantages, and future developments.
Similarities and differences between 5G and 802.11:
Both 5G and 802.11 are wireless communication technologies that use radio waves to transmit data. However, they differ in their frequency bands, coverage areas, and data rates. 5G operates in higher frequency bands, providing faster data speeds but requiring more infrastructure to provide coverage. 802.11 operates in lower frequency bands and is primarily used for local area networking.
Comparison of 5G and 802.11 use cases and applications:
5G is primarily used for mobile communications, including smartphones, IoT devices, and autonomous vehicles. It can also be used for industrial automation, virtual and augmented reality, and other applications that require high-speed, low-latency data transfer. 802.11 is primarily used for local area networking, such as in homes, offices, and public spaces. It can also be used for IoT applications and other low-bandwidth use cases.
Comparison of 5G and 802.11 advantages and disadvantages:
5G offers faster data transfer rates, lower latency, and greater capacity than 802.11. However, it requires more infrastructure and is more expensive to deploy. 802.11 is more widely available and less expensive to deploy, but it has lower data transfer rates and higher latency.
Future of 5G and 802.11 in relation to each other:
Per quanto riguarda il WiFi, il 5G e il WiFi sono tecnologie complementari che possono lavorare insieme per offrire una connessione più veloce e affidabile. Il WiFi è una tecnologia di rete locale wireless che utilizza le onde radio per connettere dispositivi ad una rete. Il 5G, d'altra parte, è una tecnologia di rete cellulare che offre una connessione mobile veloce e affidabile. Il protocollo 802.11 del WiFi e il protocollo 5G sono stati sviluppati per funzionare in modo indipendente, ma possono essere utilizzati insieme per offrire una connessione Internet più veloce e affidabile. Ad esempio, alcune implementazioni di 5G, come il 5G FWA (Fixed Wireless Access), utilizzano il WiFi come mezzo per trasmettere i dati in un'area specifica.
5G and 802.11 will continue to coexist, with 5G providing high-speed, low-latency mobile communications and 802.11 providing local area networking. However, there may be opportunities for convergence between the two technologies, such as using 5G to provide high-speed backhaul for 802.11 networks.
Overall, both 5G and 802.11 have their strengths and weaknesses, and their use cases and applications will continue to evolve as new technologies and devices emerge.