- État Nouveau
- Pourcentage achevé
- Type Évolution
- Catégorie Freebox OS → Interface Web
- Assignée à Personne
- Système d'exploitation Tous
- Sévérité Basse
- Priorité Très Basse
- Basée sur la version 4.8.16
- Due pour la version Non décidée
-
Échéance
Non décidée
- Votes
- Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par Calyhre - 25/11/2024
Ouverte par Calyhre - 25/11/2024
FS#39851 - Possibilité de filter les périphériques réseau par addresse MAC ou IP
Bonjour,
Serait-il possible d’ajouter un champs de recherche pour filtrer la liste en cherchant dans les adresse MAC, IP, ou même le nom ? C’est un peu compliqué actuellement de trouver un client si on ne connaît que son IP/MAC
Merci
Chargement...
Activer les raccourcis clavier
- Alt + ⇧ Shift + l Se connecter/Se déconnecter
- Alt + ⇧ Shift + a Ouvrir une tâche
- Alt + ⇧ Shift + m Mes recherches
- Alt + ⇧ Shift + t Rechercher par ID de tâche
Liste des tâches
- o Ouvrir la tâche sélectionnée
- j Déplacer le curseur vers le bas
- k Déplacer le curseur vers le haut
Détails de la tâche
- n Tâche suivante
- p Tâche précédente
- Alt + ⇧ Shift + e ↵ Enter Modifier cette tâche
- Alt + ⇧ Shift + w Surveiller
- Alt + ⇧ Shift + y Fermer cette tâche
Édition de la tâche
- Alt + ⇧ Shift + s Enregistrer la tâche
Bonjour
Vous pouvez le faire facilement depuis l'API:
Par exemple chez moi, sur le LAN de la Freebox:
Filtrage sur le hostname
$ # déclarez la variable NAME avec la valeur à chercher $ NAME=14RV-RT-US $ # jouez la commande suivante $ get_freebox_api lan/browser/pub | jq --arg name "${NAME}" '.result[] | select (.primary_name == $name)'Résultat chez moi pour l'hote 14RV-RT-US
{ "l2ident": { "id": "00:87:31:00:01:44", "type": "mac_address" }, "active": true, "persistent": true, "access_point": { "mac": "34:27:92:63:39:90", "type": "gateway", "connectivity_type": "ethernet", "ethernet_information": { "speed": 1000, "duplex": "full", "max_port_speed": 1000, "link": "up" }, "uid": "537a6346d3b00881f6994f0411e7c8a5" }, "vendor_name": "Cisco Systems, Inc", "host_type": "networking_device", "interface": "pub", "id": "ether-00:87:31:00:01:44", "last_time_reachable": 1732787212, "primary_name_manual": true, "l3connectivities": [ { "addr": "192.168.100.144", "active": true, "reachable": true, "last_activity": 1732787212, "af": "ipv4", "last_time_reachable": 1732787212 }, { "addr": "fe80::287:31ff:fe00:144", "active": false, "reachable": false, "last_activity": 1732651635, "af": "ipv6", "last_time_reachable": 1732651635 } ], "default_name": "", "first_activity": 1717340519, "reachable": true, "last_activity": 1732787212, "primary_name": "14RV-RT-US" }De même en filtrant sur la mac address :
$ # déclarez la variable MAC avec la valeur à chercher $ MAC=00:87:31:00:01:44 $ # jouez la commande suivante $ get_freebox_api lan/browser/pub | jq --arg mac "${MAC}" '.result[] | select (.l2ident.id == $mac)'Résultat chez moi avec la MAC 00:87:31:00:01:44
{ "l2ident": { "id": "00:87:31:00:01:44", "type": "mac_address" }, "active": true, "persistent": true, "access_point": { "mac": "34:27:92:63:39:90", "type": "gateway", "connectivity_type": "ethernet", "ethernet_information": { "speed": 1000, "duplex": "full", "max_port_speed": 1000, "link": "up" }, "uid": "537a6346d3b00881f6994f0411e7c8a5" }, "vendor_name": "Cisco Systems, Inc", "host_type": "networking_device", "interface": "pub", "id": "ether-00:87:31:00:01:44", "last_time_reachable": 1732787212, "primary_name_manual": true, "l3connectivities": [ { "addr": "192.168.100.144", "active": true, "reachable": true, "last_activity": 1732787212, "af": "ipv4", "last_time_reachable": 1732787212 }, { "addr": "fe80::287:31ff:fe00:144", "active": false, "reachable": false, "last_activity": 1732651635, "af": "ipv6", "last_time_reachable": 1732651635 } ], "default_name": "", "first_activity": 1717340519, "reachable": true, "last_activity": 1732787212, "primary_name": "14RV-RT-US" }Si vous ne savez pas comment utiliser l'API, il existe une librairie en BASH qui permet d'utiliser simplement l'API avec des commandes comme celle utilisée ci-dessus (get_freebox_api).
Si vous n'avez pas de terminal BASH, vous pouvez en obtenir un facilement sous Windows avec le système WSL:
Ouvrir un 'cmd' en 'administrateur' depuis windows, puis tapper :
Une fois sous Debian, il faut installer curl, openssl, file, coreutils, jq :
Puis installer la librairie:
Puis prendre connaissance du "QUICK START GUIDE" ici :
https://github.com/nbanb/fbx-delta-nba_bash_api.sh
Ou du 'QUICK START FULL EXAMPLE' ici:
https://github.com/nbanb/fbx-delta-nba_bash_api.sh?tab=readme-ov-file#QSFULLEX
Cordialement
nbanba
Bonjour
désolé, j'ai oublié l'expression pour chercher une IP :
$ # déclarez la variable MAC avec la valeur à chercher $ IP=192.168.100.144 $ # jouez la commande suivante $ get_freebox_api lan/browser/pub | jq --arg ip "${IP}" '.result[] | select (.l3connectivities[].addr == $ip)'On obtient toujours le même résultat :
{ "l2ident": { "id": "00:87:31:00:01:44", "type": "mac_address" }, "active": true, "persistent": true, "access_point": { "mac": "34:27:92:63:39:90", "type": "gateway", "connectivity_type": "ethernet", "ethernet_information": { "speed": 1000, "duplex": "full", "max_port_speed": 1000, "link": "up" }, "uid": "537a6346d3b00881f6994f0411e7c8a5" }, "vendor_name": "Cisco Systems, Inc", "host_type": "networking_device", "interface": "pub", "id": "ether-00:87:31:00:01:44", "last_time_reachable": 1732789252, "primary_name_manual": true, "l3connectivities": [ { "addr": "192.168.100.144", "active": true, "reachable": true, "last_activity": 1732789252, "af": "ipv4", "last_time_reachable": 1732789252 }, { "addr": "fe80::287:31ff:fe00:144", "active": false, "reachable": false, "last_activity": 1732651635, "af": "ipv6", "last_time_reachable": 1732651635 } ], "default_name": "", "first_activity": 1717340519, "reachable": true, "last_activity": 1732789252, "primary_name": "14RV-RT-US" }PS : Pour convertir les durées depuis epoch 0 vous pouvez utiliser la commande :
Cordialement
nbanba