(Solved) Fdisk command not found Debian 10

(Solved) Fdisk command not found Debian 10

In Debian Buster si presenta un errore quando si danno alcuni comandi con privilegi root, uno di questi è il comando fdisk-l, che risponde con: command not found. Questo problema si risolve in 2 modi:

1) eseguire il comando con:

# /sbin/fdisk -l

2) con un link simbolico:

# ln -s /sbin/fdisk /bin/fdisk

(Solved) Fdisk command not found Debian 10

enjoy 😉

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

Script per aggiornamento ip dinamico FreePBX Asterisk

Dopo l’ultima guida su come Configurare un trunk Asterisk su linea Vodafone, il mio centralino personale funziona benissimo (quasi). Naturalmente c’è sempre qualcosa da sistemare qua e là, e la prima cosa è quella dell’ip statico. Nel mio caso, avendo un ip dinamico, nel momento in cui cambia l’indirizzo (non spesso), le chiamate in ingresso non vengono inoltrate. Pur avendo un external FQDN con dyndns, ed aggiungendolo in FreePBX, purtroppo NON funziona. Quindi la soluzione è riscrivere nella tabella mysql il nuovo ip in maniera automatica. A questo proposito ho rispolverato uno script bash, che può essere modificato in base alle proprie esigenze:

#!/bin/bash
# This program gets the current IP address (as assigned by the ISP) from
# THIS SCRIPT IS STILL CONSIDERED EXPERIMENTAL - USE AT YOUR OWN RISK!!!
user="user"
pass="pw"
check=$(dig +short myip.opendns.com @resolver1.opendns.com) || { echo "Problem getting current IP address"; exit 1; }
if [[ ! $check =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Invalid IP address"; exit 1;
fi
readip=$(mysql asterisk -u $user -p$pass -se 'SELECT val FROM kvstore_Sipsettings where `key` = "externip"') || { echo "Can't read externip from MySQL asterisk database"; exit 1; }
if [ "$check" != "$readip" ]; then
# IP address has changed
# Send email
echo "This is an automated message - please do not reply. It appears that our external IP address has been changed to $check" | mail -s "External IP address may have been changed" you@someaddress.com
# Save new IP address to Asterisk SIP settings
mysql_response=$(mysql asterisk -u $user -p$pass -se 'update kvstore_Sipsettings set val='\"$check\"' where `key`="externip" ')
# Reload Asterisk
/var/lib/asterisk/bin/module_admin reload
fi

se ci sono problemi di formattazione, si può scaricare con:

$ wget https://www.dropbox.com/s/lrvyd83ezu62fb7/checkip.sh?dl=0 -O checkip.sh

le voci importanti da modificare sono: user, pw, ed aggiungere la propria mail eventualmente, per essere avvisati al cambiamento ip. Quindi:

# chmod u+rx checkip.sh
# mv checkip.sh /var/lib/asterisk/agi-bin/

per testarlo subito eseguire:

# ./checkip.sh

Adesso è utile programmare un cron job che controlli l’indirizzo ip ad intervalli regolari. Io ho optato per un check ogni ora, anche se il mio ip non cambia così spesso:

# crontab -e

ed incollare qualcosa del genere:

*/60 * * * * /var/lib/asterisk/agi-bin/checkip.sh

adesso il nostro centralino asterisk non avrà più problemi a causa dell’ip dinamico. Testato e funzionante con Asterisk 14 FreePBX 14

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

enjoy 😉

 

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

Questa guida, testata su Debian 10, fa vedere come dopo avere installato un interessante tool di Information gathering, FBI (Facebook Information)) si possono ottenere velocemente dati sensibili sui propri amici di Facebook.

$ sudo apt update; apt upgrade -y
$ sudo apt install git python2
$ git clone https://github.com/xHak9x/fbi.git
$ cd fbi/
$ sudo pip2 install -r requirements.txt

Avviare con:

$ python2 fbi.py

loggarsi con il proprio id facebook e dare il comando:

token

scaricare le info di tutti gli amici:

get_data
get_info

ottenere i numeri di telefono:

dump_phone

Trovare informazioni sensibili su Facebook con FBI

scoprire tutte le mail:

dump_mail

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

ecc. ecc. ecc.

enjoy 😉

Configurazione Asterisk su Linea Vodafone

Configurazione Asterisk su Linea VodafoneConfigurazione Asterisk su Linea Vodafone

Con questa guida si completa la trilogia su come configurare ed utilizzare il proprio modem e linea telefonica, senza utilizzare il terminale del proprio provider. Questo grazie alla delibera AGCOM 348/18/CONS, per il modem libero. Io ho gia creato con successo un centralino Asterisk funzionante su linea Telecom FTTH e FTTC, quello che mi mancava era la configurazione su Linea Vodafone, senza workaround. Io ho testato tutto sulla mia linea Vodafone FTTC, utilizzando un modem/router Asus DSL-AC68U. un raspberry pi 3, con RaspbianAsterisk 14 e FreePBX 14. Utilizzando questo sistema, adesso NON ci sarà più bisogno di moduli ATA, o di telefoni analogici collegati sulla tel1/fxs1, ma si sfrutta la propria rete, per avere Voip puro, con telefoni/App voip. Naturalmente servono le credenziali del proprio numero voip, da richiedere al 190 Vodafone.

Configurazione Trunk

Outgoing PEER Details:

type=peer
username=+3902xxxxxxx
secret=password_linea_voip
keepalive=yes
qualify=no
srvlookup=yes
auth=+390xxxxxxx@ims.vodafone.it
outboundproxy=83.224.127.3
insecure=invite,port
host=ims.vofadone.it
fromuser=+3902xxxxxxx
fromdomain=ims.vodafone.it
dtmfmode=RFC2833
disallow=all
allow=alaw&ulaw
context=from-trunk

sopra ho messo qualify=no, insieme a keepalive=yes, altrimenti il trunk risultava quasi sempre Unreachable.

Incoming:

Register String:

+3902xxxxxxx@ims.vodafone.it:password_linea_voip:+3902xxxxxxx@ims.vodafone.it@83.224.127.3:5060/+3902xxxxxxx

Questo Trunk si autenticherà direttamente su SBC Vodafone.

In questo caso trattandosi di ip dinamico, nat=yes, in Settings-Asterisk Sip Settings-Chan Sip Settings.

Ready ?

enjoy 😉

Backup incrementale con Tar

 

Backup incrementale con Tar

 

Backup incrementale con Tar è il titolo di questa guida, ma il sottotitolo potrebbe essere: come dormire sonni tranquilli facendo un backup incrementale, sicuro e veloce. Ci sono diversi strumenti con cui fare un backup dei propri dati, sia con programmi grafici, come luckyBackup, deja-dup o systemback-1.9.3, sia con strumenti da linea di comando, già presenti di default in Gnu-Linux. Tempo fa avevo gia fatto una guida sull’utilizzo di rsync come strumento di backup, invece questa guida mostrerà come ottenere un backup incrementale usando Tar.

Creazione di cartelle, sotto cartelle e files per testare il backup:

$ mkdir -p big-data/{backup,restore}
$ cd big-data/backup/
$ mkdir {1..4}
$ man ls > file1
$ man wc > file2
$ man tar > file3
$ man mv > file4
$ ls

output ls:

edmond@debianbox:~/Desktop/big-data/backup$ ls
1 2 3 4 file1 file2 file3 file4
$ cd ..
$ ls

output ls:

edmond@debianbox:~/Desktop/big-data$ ls
backup restore

Backup generale:

$ tar -czvg snapshot-file -f backup.tar.gz backup

output:

edmond@debianbox:~/Desktop/big-data$ tar -czvg snapshot-file -f backup.tar.gz backup
tar: backup: Directory is new
tar: backup/1: Directory is new
tar: backup/2: Directory is new
tar: backup/3: Directory is new
tar: backup/4: Directory is new
backup/
backup/1/
backup/2/
backup/3/
backup/4/
backup/file1
backup/file2
backup/file3
backup/file4

output ls:

edmond@debianbox:~/Desktop/big-data$ ls
backup backup.tar.gz restore snapshot-file

come si può vedere tutte le cartelle ed i files sono stati clonati nell’ archivio backup.tar.gz, mentre il file chiamato snapshot-file, si occuperà di tenere traccia dei cambiamenti. A questo punto il passo successivo sarà quello di andare ad inserire nella cartella di backup originale, altre cartelle e files così da testare il backup incrementale.

$ mkdir backup/{5..8} 
$ man sed > backup/file5 
$ ls backup/

output:

edmond@debianbox:~/Desktop/big-data$ ls backup/
1 2 3 4 5 6 7 8 file1 file2 file3 file4 file5

per ottenere un backup incrementale il comando da eseguire è come quello sopra, l’unica differenza sarà quella di personalizzare il nome del backup, in base alla data oppure con dei numeri:

$ tar -czvg snapshot-file -f 1-backup.tar.gz backup

output:

edmond@debianbox:~/Desktop/big-data$ tar -czvg snapshot-file -f 1-backup.tar.gz backup
tar: backup/5: Directory is new
tar: backup/6: Directory is new
tar: backup/7: Directory is new
tar: backup/8: Directory is new
backup/
backup/1/
backup/2/
backup/3/
backup/4/
backup/5/
backup/6/
backup/7/
backup/8/
backup/file5

per vedere le differenze dei due backup:

$ tar -tvf backup.tar.gz
$ tar -tvf 1-backup.tar.gz

output:

edmond@debianbox:~/Desktop/big-data$ tar -tvf backup.tar.gz
drwxr-xr-x edmond/edmond 41 2019-02-28 20:31 backup/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/1/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/2/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/3/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/4/
-rw-r--r-- edmond/edmond 7823 2019-02-28 20:30 backup/file1
-rw-r--r-- edmond/edmond 2026 2019-02-28 20:31 backup/file2
-rw-r--r-- edmond/edmond 45323 2019-02-28 20:31 backup/file3
-rw-r--r-- edmond/edmond 2989 2019-02-28 20:31 backup/file4
edmond@debianbox:~/Desktop/big-data$ tar -tvf 1-backup.tar.gz
drwxr-xr-x edmond/edmond 60 2019-02-28 20:51 backup/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/1/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/2/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/3/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:30 backup/4/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:50 backup/5/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:50 backup/6/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:50 backup/7/
drwxr-xr-x edmond/edmond 1 2019-02-28 20:50 backup/8/
-rw-r--r-- edmond/edmond 11183 2019-02-28 20:51 backup/file5

Ripristino Backup nella cartella restore:

$ tar -xvf 1-backup.tar.gz -C restore/

enjoy 😉

 

Muovere files diversi simultaneamente da terminale

Muovere files diversi simultaneamente da terminale

Guida su come muovere files con estensione diversa da una directory ad un’altra. Può capitare di avere all’interno di una directory centinaia di files, ma se si necessita di muoverne solo alcuni. Il comando mv sotto può venerci incontro:

$ mv dir1/*.{doc,pdf,jpg} dir2/

enjoy 😉

Trovare profili Social col riconoscimento immagine

trovare profili Social col riconoscimento immagine

Come trovare profili Social col riconoscimento immagine, utilizzando Eagle Eye su Debian 1o. L’obiettivo sarà quello di partire da una immagine, e tramite una scansione della rete trovare i profili social, come Facebook, Instagram, Pinterest e Twitter.

$ sudo apt update; sudo apt upgrade -y
$ sudo apt install build-essential devscripts cmake python3-pip git python3 python3-dev libffi-dev libgtk-3-dev libboost-all-dev
$ git clone https://github.com/ThoughtfulDev/EagleEye
$ cd EagleEye
$ sudo pip3 install -r requirements.txt
$ sudo pip3 install --upgrade beautifulsoup4 html5lib spry

Scaricare geckodriver

$ wget https://github.com/mozilla/geckodriver/releases/download/v0.23.0/geckodriver-v0.23.0-linux64.tar.gz
$ tar xvf geckodriver-v0.23.0-linux64.tar.gz
$ chmod +x geckodriver
$ sudo mv geckodriver /usr/bin/

per avviare Eagle Eye

$ cd EagleEye
$ python3 eagle-eye.py

di seguito un video screen fatto da me che ne mostra il funzionamento:

enjoy 😉

 

Anonsurf su Debian 10

Anonsurf su Debian 10

Anonsurf su Debian 10

Anonsurf è la modalità anonima di ParrotOS per forzare le connessioni attraverso Tor e/o la rete i2p.  Tor è un protocollo di crittografia SOCKS4 e SOCKS5. Tor esegue il tunnelling di tutto il traffico che circola nella rete dell’utente in modo anonimo. Tor nasconde la posizione di un utente e i dati di rete da chiunque monitora l’utente localmente e in remoto. L’utilizzo di Anonsurf si può avviare anche da terminale, ed oltre ad essere integrato in ParrotOS ed in Kali Linux, si può installare in Debian 9 Stretch o Debian 10 Buster.

$ sudo apt install git
$ git clone https://github.com/ParrotSec/anonsurf
$ cd anonsurf/
$ chmod a+x ./anonsurf.sh
$ sudo ./anonsurf.sh start

Anonsurf su Debian 10i comandi sono i seguenti:

anonsur start - Start system-wide TOR tunnel
anonsurf stop - Stop anonsurf and return to clearnet
anonsurf restart - Combines "stop" and "start" options
anonsurf changeid - Restart TOR to change identity
anonsurf status - Check if AnonSurf is working properly
anonsurf myip - Check your ip and verify your tor connection
anonsurf mymac - Check your mac and verify your change mac address

enjoy 😉

Video utilizzo Systemback-1.9.3

 

Video utilizzo Systemback-1.9.3

Questo video mostra come installare una copia del proprio OS, utilizzando Systemback-1.9.3. Nell’esempio sopra, utilizzo Ubuntu 18-04, installato in EFI mode. Nel caso si trattasse di una installazione in legacy mode, assicurarsi che il pacchetto grub-pc-bin sia installato correttamente, sopratutto se si parte da chiavetta usb live.

enjoy 😉

Server DHCP su Debian 10 Buster

Server DHCP su Debian 10 Buster

Server DHCP su Debian 10 Buster. Installazione e configurazione di un server dhcp su Debian Buster:

# apt install isc-dhcp-server

settare la scheda di rete da utilzzare, nel mio caso eth0:

# nano /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"

poi modificare il file dhcpd.conf inserendo i parametri della nostra rete, nel mio caso 192.168.100.0/24:

# nano /etc/dhcp/dhcpd.conf
# Sample configuration file for ISC dhcpd for Debian
#
#

# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

# No service will be given on this subnet, but declaring it helps the
# DHCP server to understand the network topology.

#subnet 10.152.187.0 netmask 255.255.255.0 {
#}

# This is a very basic subnet declaration.
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.160;
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.100.254;
option domain-name-servers 192.168.100.1, 192.168.100.2;
option ntp-servers 192.168.100.1;
option netbios-name-servers 192.168.100.1;
option netbios-node-type 8;
}
#subnet 10.254.239.0 netmask 255.255.255.224 {
#  range 10.254.239.10 10.254.239.20;
#  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}

# This declaration allows BOOTP clients to get dynamic addresses,
# which we don't really recommend.

#subnet 10.254.239.32 netmask 255.255.255.224 {
#  range dynamic-bootp 10.254.239.40 10.254.239.60;
#  option broadcast-address 10.254.239.31;
#  option routers rtr-239-32-1.example.org;
#}

# A slightly different configuration for an internal subnet.
#subnet 10.5.5.0 netmask 255.255.255.224 {
#  range 10.5.5.26 10.5.5.30;
#  option domain-name-servers ns1.internal.example.org;
#  option domain-name "internal.example.org";
#  option routers 10.5.5.1;
#  option broadcast-address 10.5.5.31;
#  default-lease-time 600;
#  max-lease-time 7200;
#}

# Hosts which require special configuration options can be listed in
# host statements.   If no address is specified, the address will be
# allocated dynamically (if possible), but the host-specific information
# will still come from the host declaration.

#host passacaglia {
#  hardware ethernet 0:0:c0:5d:bd:95;
#  filename "vmunix.passacaglia";
#  server-name "toccata.fugue.com";
#}

# Fixed IP addresses can also be specified for hosts.   These addresses
# should not also be listed as being available for dynamic assignment.
# Hosts for which fixed IP addresses have been specified can boot using
# BOOTP or DHCP.   Hosts for which no fixed address is specified can only
# be booted with DHCP, unless there is an address range on the subnet
# to which a BOOTP client is connected which has the dynamic-bootp flag
# set.
#host fantasia {
#  hardware ethernet 08:00:07:26:c0:a5;
#  fixed-address fantasia.fugue.com;
#}

# You can declare a class of clients and then do address allocation
# based on that.   The example below shows a case where all clients
# in a certain class get addresses on the 10.17.224/24 subnet, and all
# other clients get addresses on the 10.0.29/24 subnet.

#class "foo" {
#  match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
#}

#shared-network 224-29 {
#  subnet 10.17.224.0 netmask 255.255.255.0 {
#    option routers rtr-224.example.org;
#  }
#  subnet 10.0.29.0 netmask 255.255.255.0 {
#    option routers rtr-29.example.org;
#  }
#  pool {
#    allow members of "foo";
#    range 10.17.224.10 10.17.224.250;
#  }
#  pool {
#    deny members of "foo";
#    range 10.0.29.10 10.0.29.230;
#  }
#}

dopo le modifiche riavviare il servizio:

# systemctl restart isc-dhcp-server.service
Server DHCP su Debian Buster

enjoy 😉