Mardi, Novembre 23, 2021

Configuration d’un proxy pour APT

Pour pouvoir utiliser les commandes apt sur une machine qui se connecte à internet via un proxy il faut configurer le fichier proxy.conf qui va indiquer quelle url la commande apt doit utiliser.

  1. Création du fichier proxy.conf
sudo nano /etc/apt/apt.conf.d/proxy.conf
  1. Ajout des lignes du proxy
Acquire::http::Proxy "http://user:password@proxy.server:port/";
Acquire::https::Proxy "http://user:password@proxy.server:port/";

A noter que les user et password peuvent-être optionnels en fonction de la configuration du proxy.

  1. Enregistrement du fichier de configuration Ctrl-o
  2. La configuration est prise en compte au prochain lancement de la commande apt

Vendredi, Novembre 19, 2021

Python - environnement virtuel

Environnement virtuel

python -m venv .venv

Activation sous Windows

.venv/Scripts/activate

Activation sous Linux

source .venv/Scripts/activate

Désactivation sous Windows

deactivate

Installation de module avec pip

pip install nom_du_module

Avec un proxy en utilisant —proxy, le user et le password sont à renseigner si besoin

pip install nom_du_module --proxy http://user:password@proxy:port 

Mise à jour des modules

On peut mettre à jour les modules y compris pip.

pip install --upgrade pip

Afficher les routes réseaux

Linux

Sous linux voici trois façons d’obtenir une informations similaire avec des commandes différentes

Commande route

[user@machine ~]$ route -ne
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.254  0.0.0.0         UG        0 0          0 ens192
192.168.0.0    0.0.0.0         255.255.255.0   U         0 0          0 ens192
  • -n affiche les adresses numériques sans résolution de nom
  • -e

Commande netstat

[user@machine ~]$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.0.254  0.0.0.0         UG        0 0          0 ens192
192.168.0.0    0.0.0.0         255.255.255.0   U         0 0          0 ens192

Commande ip

[user@machine ~]$ ip route list
default via 192.168.0.254 dev ens192 proto static metric 100
192.168.0.0/20 dev ens192 proto kernel scope link src 192.168.0.100 metric 100

Windows

Sous Windows voici deux façons d’afficher les route:

La façon historique avec la commande batch

route print

La version moderne en PowerShell. A noter que de base je trouve la version PowerShell moins utile :)

Get-NetRoute

Couchdb - la base

Upload de fichier Powershell

Contexte:

des fichier json sont preésents dans une arborescende de dossier et doivent être uplaoder dans le serveur couchdb.

$files = ls *.json -Recurse -File | select FullName
foreach ($file in $files) {$f = $file.Fullname; curl -X POST "http://admin:password@server_couchdb:5984/alerts" -d "@$f" -H "Content-Type:application/json"}
  • ligne 1 : liste les fichiers json du répertoire courant et des sous-répertoires, en sélectionnant le Fullname c’est à dire le chemin complet
  • ligne 2 : pour chaque item on envoi le fichier json vers le serveur couchdb

Accès à l’interface web

L’accès se fait via un browser web à l’URL suivante: http://server_couchdb:5984/_utils/

Requête basique

Afficher tous les records:

{
   "selector": {
      "_id": {
         "$gt": null
      }
   }
}

Afficher tous les records mais en séectionnant les colonnes:

{
   "selector": {
      "_id": {
         "$gt": null
      }
   },
   "fields": [
      "column1",
      "column2",
      "column3.sub1",
      "column5.sub1.sub2"
   ]
}

Tester port distant

Telnet

/! Uniquement pour les ports TCP

telnet [hostname/IP address] [port number]

Netcat

Pour les ports TCP.

Test d’un port unique, par exemple 443.

nc -z -v [hostname/IP address] [port number]
nc -z -v [hostname/IP address] 443

Test d’un range de port, par exemple tester les ports 20 à 22.

nc -z -v [hostname/IP address] [port range]
nc -z -v [hostname/IP address] 20-22

Test de ports multiples, par exemple ports 22, 80, 443:

nc -z -v [hostname/IP address] [port number] [port number] [port number]
nc -z -v [hostname/IP address] 22 80 443

Pour les ports UDP

nc -z -v -u [hostname/IP address] [port number]