- Status Nouveau
- Percent Complete
- Task Type Évolution
- Category Freebox OS → Interface Web
- Assigned To No-one
- Operating System Tous
- Severity Low
- Priority Very Low
- Reported Version 4.8.16
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Attached to Project: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Opened by Calyhre - 25/11/2024
Opened by 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
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
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