Redirection de fichiers

Bonjour, je sollicite votre aide .

J’ai un fichier A & B. Ces deux fichiers contiennent des informations que j’aurai aimé regrouper dans un fichier C.

Le fichier C doit être capable de recueillir les informations de A & B en dynamique, c’est à dire que des lors une modification est apporté dans un fichier A par exemple, cela se répercute dans le fichier C.

De plus, j’aimerai sélectionner les éléments à envoyé dans ce fichier C.

Pour vous expliquez mon cas concrètement, j’ai un fichier .log qui possède un suivis de connexion avec les site sur lequel un utilisateur s’est rendu. Sur ce fichier .log plusieurs informations sont inscrites, @source, @destination, hh:mm:ss etc …

Dans un autre fichier, ce sont les .log des appareils qui se sont connectés en WI-FI qui sont répertoriés avec leurs adresse IP et MAC.

Mon but est de créer un fichier qui va pouvoir recupérer l’adresse MAC des appareils connectés en WI-FI afin de l’ajouter à l’@ IP la machine concernée dans le suivi de connexion.

J’espère ne pas avoir étais trop long. On m’a dit que cela est possible en Php et mes connaissances sont très limité dans ce domaine. Votre aide serai très appréciée !

Salut,

Ça doit être possible dans à peu près tout langage généraliste, ça reste de la manipulation simple de fichiers. En quoi sais-tu coder ?

Merci de ta réponse,

Je code généralement en sh sachant que je n’excelle pas dans le domaine.

Peut-être suffisamment pour connaître la redirection vers un fichier en mode “ajout” (append) : >>, et de quoi te coder une boucle qui vérifie tes fichiers sources toutes les x secondes ?

En effet, je suis en mesure de faire la redirection vers un fichier

#Je récupère les lignes DHCPACK qui m'intéressent 
grep DHCPACK /var/log/dhcpd.log >> /home/pi/testlog/dhcpack.txt

#Récupération des colonnes correspondant aux @IP et @MAC du  fichier dhcpack.txt

cut -c43-54,58-75 /home/pi/testlog/dhcpack.txt

Maintenant, mon problème est comment je pourrais créer des variables qui correspondent à l’@ IP et @MAC afin de pouvoir continuer le script

salut,

un échantillon des fichiers sources, et la sortie correspondante attendue seraient les bienvenus pour éclaircir tes propos.

a priori, tu devrais pouvoir faire un join

Salut,

J’ai essayé avec un “join” et le message d’erreur suivant apparait : join: tabulation multicaractère

Mes deux fichiers sont :

ainsi que :

Avec join, normalement, avec les adresse IP en commun la commande devrais fonctionner mais rien ne se passe concrètement.

est-ce que tu peux remplacer les captures d’écrans par des copier/coller afin qu’on puisse manipuler les données ?

Bonjour KARIM974

Je me suis permis de modifier l’apparence du bloc de texte dans un de tes messages en faisant
précéder et suivre ce bloc de texte par une ligne dont les trois premiers caractères sont des “backticks” :

Ces deux lignes ne contenant que ces 3 caractères.

----------
Évite de poster des images "copie d'écran" de ligne de texte : c'est plus long à faire qu'un copié/coillé au format texte, ça prends 20 fois plus de place sur le serveur du forum et du site web hébergeur d'images, et surtout, ça oblige ceux qui voudraient t'aider à recopier ces lignes de texte manuellement avec tous les risques d'erreurs d'interprétation et de frappe au clavier.

Désolé, voici le contenu des fichiers concernés :

Mon Feb 13 08:38:52 2017        tcp      6 src=192.168.1.3 dst=31.13.92.10 sport=38902 dport=443 src=31.13.92.10 dst=10.10.0.139 sport=443 dport=38902 [ASSURED]
Mon Feb 13 08:39:18 2017        tcp      6 src=192.168.1.3 dst=216.58.204.145 sport=38424 dport=443 src=216.58.204.145 dst=10.10.0.139 sport=443 dport=38424 [ASSURED]
Mon Feb 13 08:40:13 2017        tcp      6 src=192.168.1.3 dst=216.58.204.145 sport=60613 dport=443 src=216.58.204.145 dst=10.10.0.139 sport=443 dport=60613 [ASSURED]

Et le deuxième fichier concerné :

Feb  9 09:45:59 hotspot dhcpd: DHCPACK on 192.168.1.3 to 8c:eb:c6:ab:05:33 (Honor_8) via wlan0
Feb  9 09:50:47 hotspot dhcpd: DHCPACK on 192.168.1.3 to 8c:eb:c6:ab:05:33 (Honor_8) via wlan0

Je souhaiterai que l’@ mac du second fichier apparaisse dans le premier fichier, le point en commun des deux fichiers est l’adresse IP

Bonjour KARIM974

En cliquant sur l’icône représentant un crayon (en bas à droite de tes messages),
tu pourra voir comment j’ai fait pour modifier l’apparence des lignes extraites de tes fichiers.

Pour obtenir le caractère “backtic”, j’utilise le raccourci clavier AltGr+7
(touche 7è` de la partie alphanumérique du clavier)


Merci pour les copies au format texte :slight_smile:

Je ferai attention la prochaine fois merci j’ai pas l’habitude du forum

T’inquiète pas, on sait tous que c’est pas évident au début,
et que chaque forum est différent (ce qui n’arrange rien)


Je me demandais s’il ne serait pas plus efficace d’extraire de ton fichier /var/log/dhcpd.log
les lignes concernant les demandes (DHCPREQUEST) et accusés de réceptions (DHCPACK) du serveur DHCP
car ces lignes contiennent toutes les informations que tu voudrais obtenir.
Par exemple :

Jan 15 14:09:22 proxy dhcpd: DHCPREQUEST for 192.168.0.10 from 00:40:05:6d:7c:a2 via eth1
Jan 15 14:09:22 proxy dhcpd: DHCPACK on 192.168.0.10 to 00:40:05:6d:7c:a2 via eth1

Voir aussi : http://www.linux-france.org/prj/edu/archinet/systeme/ch27s03.html


Avec wireshark tu pourra voir et comprendre comment fonctionnent les dialogues entre un serveur DHCP et ses clients. C’est très édifiant

$ awk 'NR==FNR{ar[$8]=$10;next}{split($8,tmp,"=");if ( tmp[2] in ar)print $0" -- "ar[tmp[2]] }' dhcpd.log conntrackd.log 
Mon Feb 13 08:38:52 2017        tcp      6 src=192.168.1.3 dst=31.13.92.10 sport=38902 dport=443 src=31.13.92.10 dst=10.10.0.139 sport=443 dport=38902 [ASSURED] -- 8c:eb:c6:ab:05:33
Mon Feb 13 08:39:18 2017        tcp      6 src=192.168.1.3 dst=216.58.204.145 sport=38424 dport=443 src=216.58.204.145 dst=10.10.0.139 sport=443 dport=38424 [ASSURED] -- 8c:eb:c6:ab:05:33
Mon Feb 13 08:40:13 2017        tcp      6 src=192.168.1.3 dst=216.58.204.145 sport=60613 dport=443 src=216.58.204.145 dst=10.10.0.139 sport=443 dport=60613 [ASSURED] -- 8c:eb:c6:ab:05:33

Bonjour Watael

Je me suis permis de modifier l’apparence du bloc de texte dans ton message

J’avais oublié de préciser :

…faire précéder et suivre ce bloc de texte par une ligne dont les trois premiers caractères sont des "backticks"
Ces deux lignes ne contenant que ces 3 caractères.

Je corrige mon précédent message.

J’ai déjà mes connaissances à ce propos merci quand même, mais là n’est pas ma question.