Created
February 27, 2019 13:42
-
-
Save Horaddrim/432ef369bb769d90b3fc265ce6853baa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Aqui eu dou o require do modulo OS, que contém | |
todas as informações disponiveis sobre o sistema operacional | |
que seu código Js ta rodando, desde distribuição (se é Windows, Mac* ou Linux), | |
arquitetura do processador (se é 32, 64 ou 86 bits) e coisas assim. | |
E uma das informações que ele tem é das interfaces de rede do PC, que não são nada | |
além de uma listagem com as capacidades da tua placa de rede :D | |
Geralmente, num notebook comum você vai ter 3: | |
lo: Que é uma interface de loopback (por isso o nome Lo :D) que serve para comunicação interna dos teus serviços | |
Ou seja, seu "localhost:3000" pra testar a nossa API só funcionou por conta dela :D | |
eth0: A mais daora kkkkk, porque ela é a interface padrão de comunicação com cabos, então se você usa um cabo de rede | |
pra se conectar na net, é aqui que seu IP deve aparecer mesmo. | |
O nome significa Ethernet e como é a primeira o 0 (lembra que em arrays e coisas assim começam com 0 né?) | |
wlan0: Eee a mais utilizada hoje em dia de longe, que é a Wireless LAN, sendo a primeira, 0 também, que é onde fica seu | |
IP na sua rede WIFI! Eee é ela que vamos usar, porque geralmente usamos redes WIFI :D | |
* => Caso você tente rodar em um Mac, vai aparecer Darwin, que é o nome do Kernel dele, então não assusta kkkkk | |
*/ | |
const os = require("os"); | |
// Aqui a gente pede pro módulo OS as interfaces de rede | |
const interfaces = os.networkInterfaces(); | |
// E logo em seguida eu já "seleciono" a interface wlan0 | |
// Recomendo você rodar isso aqui: | |
// console.log(JSON.stringify(interfaces, null, 2)); | |
// pra ver a estrutura toda e todas as informações | |
// que você consegue com esse método! :D | |
const wlan0 = interfaces['wlan0']; | |
// Eeee aqui eu só dou uns print bonitinho no seu IPv4 e o IPv6 | |
// Distinguindo a familia. | |
// Lembrando que não foi intuição, eu dei o console.log ali em cima | |
// pra ver a estrutura e vi onde estavam as informações | |
console.log(`Seu ${wlan0[0].family} é: ${wlan0[0].address}`); | |
console.log(`Seu ${wlan0[1].family} é: ${wlan0[1].address}`); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment