Heim >Web-Frontend >Front-End-Fragen und Antworten >So erhalten Sie die dynamische IP des Routers in NodeJS

So erhalten Sie die dynamische IP des Routers in NodeJS

王林
王林Original
2023-05-12 10:29:36976Durchsuche

Bei der Netzwerkprogrammierung ist es häufig erforderlich, die IP-Adresse des Routers zu erhalten. Unabhängig davon, ob Sie Webanwendungen entwickeln oder an der Netzwerksicherheit arbeiten, ist es sehr wichtig, die dynamische IP-Adresse Ihres Routers zu erhalten. Wie erhalte ich die dynamische IP des Routers in Node.js? In diesem Artikel wird die Methode von Node.js zum Abrufen der dynamischen IP des Routers ausführlich vorgestellt.

1. Verstehen Sie das Konzept der dynamischen IP-Adresse

Bevor wir verstehen, wie Node.js die dynamische IP des Routers erhält, müssen wir zunächst das Konzept der dynamischen IP-Adresse verstehen. Eine dynamische IP-Adresse bezieht sich auf eine IP-Adresse, die sich aufgrund von Änderungen der Netzwerkbedingungen oder Benutzeranforderungen ständig ändert. Das heißt, jedes Mal, wenn der Benutzer neu startet oder das Gateway erneut eine Verbindung zum ISP-Dienst (Internet Service Provider) herstellt, wird die IP-Adresse zugewiesen durch den Router Es wird Änderungen geben. Eine statische IP-Adresse bezieht sich auf eine residente IP-Adresse, die einem Computer zugewiesen ist und sich aufgrund von Änderungen der Netzwerkbedingungen oder Benutzeranforderungen nicht ändert.

In einem LAN wird die dynamische IP-Adresse des Routers normalerweise automatisch vom DHCP-Server zugewiesen. Daher ist Node.js-Programmierung erforderlich, um die dynamische IP-Adresse des Routers zu erhalten.

2. Verwenden Sie Node.js, um die dynamische IP-Adresse des Routers abzurufen.

In Node.js besteht unsere übliche Methode darin, eine Anfrage an den STUN-Server zu senden, um die öffentliche IP-Adresse des Routers zu erhalten Adresse. . Der vollständige Name des STUN-Servers lautet „Simple Traversal of UDP through NATs“ (NAT-Penetration). Es handelt sich um ein Netzwerkprotokoll, das das Problem der NAT-Gerätebeschränkungen lösen soll. Es kann vom Server analysiert werden, um das Netzwerk zu ermitteln, in dem sich der Client befindet andere Informationen, die dem Client einen gemeinsamen Satz an Netzwerkinformationen bereitstellen, sodass Clients UDP-Pakete erstellen können, die das NAT-Gateway durchlaufen.

Der Code lautet wie folgt:

const stun = require('stun');
const { address } = stun.request('stun.l.google.com:19302');
console.log(address);

Im obigen Code sendet die Methode stun.request eine Anfrage an den angegebenen STUN-Server und gibt die erhaltene öffentliche IP-Adresse des Routers zurück. In der Konsolenausgabe können Sie die erhaltene IP-Adresse sehen.

2. Ermitteln Sie die interne IP-Adresse des Routers.

In Node.js können Sie die Netzwerkschnittstellen-Informations-API verwenden, um die interne IP-Adresse des Routers abzurufen. Die Netzwerkschnittstelleninformations-API enthält hauptsächlich Netzwerkschnittstelleninformationen, einschließlich IP-Adresse, Subnetzmaske usw. Wir können diese Netzwerkschnittstellen durchlaufen, die mit dem Router verbundene Netzwerkschnittstelle finden und ihre IP-Adresse erhalten.

Der Code lautet wie folgt:

const os = require('os');
const interfaces = os.networkInterfaces();
let ip = '';
Object.keys(interfaces).forEach(key => {
  interfaces[key].forEach(item => {
    if (item.family === 'IPv4' && !item.internal) {
      ip = item.address;
    }
  });
});
console.log(ip);

Im obigen Code erhalten wir alle Netzwerkschnittstelleninformationen dieser Maschine, indem wir die networkInterfaces-Methode des Betriebssystems aufrufen. Durchsuchen Sie dann die Netzwerkschnittstelleninformationen, um die mit dem Router verbundene Schnittstelle zu finden und die IP-Adresse der Schnittstelle zu erhalten.

3. Zusammenfassung

In diesem Artikel wird hauptsächlich die Methode von Node.js zum Abrufen der dynamischen IP-Adresse des Routers vorgestellt, die zwei Methoden zum Abrufen der öffentlichen IP-Adresse und der Intranet-IP-Adresse des Routers umfasst. Ich hoffe, dass die Einführung dieses Artikels den Lesern dabei helfen kann, die Methode zum Abrufen der IP-Adresse des Routers besser zu verstehen und die Verwendung der Node.js-Programmiertechnologie in praktischen Anwendungen zu vereinfachen.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die dynamische IP des Routers in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn