[LINUX] gethostbyaddr () kommuniziert mit der Außenwelt

【 Überblick 】

Auf einem System mit PHP wird die Browseranzeige aus irgendeinem Grund angezeigt Es gab ein Phänomen, dass es schwer wurde.

Als ich es in meiner Forschung mit dem Befehl linux netstat betrachtete, Es gab viel Kommunikation zu Port 53.

Was? Ich dachte, und nachdem ich verschiedene Dinge untersucht hatte, Ich fand, dass es durch [gethostbyaddr ()] verursacht wurde (https://www.php.net/manual/ja/function.gethostbyaddr.php).

[Ursache]

Als allererstes, gethostbyaddr () ist unschuldig. Es gab ein Problem beim Anrufen.

Es ist eine PHP-Quelle, es ist schlecht geschrieben, Es gab einen Ort, an dem ich vergeblich (viel) schleifte.

Weil ich in dieser Schleife gethostbyaddr () aufgerufen habe Ich habe viele DNS-Anfragen vom Server erhalten.

Nach einer Korrektur, um die Anzahl der Anrufe zu reduzieren Die Belastung des Servers (Netzwerks) wird reduziert, Die Browseranzeige ist heller geworden.

[An erster Stelle]

Kommuniziert gethostbyaddr () mit der Außenwelt? Sie haben vielleicht gedacht, aber wenn Sie mich fragen Weil der Hostname von der IP-Adresse erhalten wird Du machst das Gegenteil von DNS, oder? Ich kann mir vorstellen.

(Sie sollten sich wirklich die Quelle von gethostbyaddr () selbst ansehen. Ich habe diese Fähigkeit nicht und es tut mir leid, aber ich überlasse es Ihnen. )

Wenn dies beispielsweise mb_send_mail () ist, wird eine E-Mail gesendet. Du wirst denken, es ist schlecht, eine Schleife zu machen.

Aber gethostbyaddr () kommuniziert hinter den Kulissen Ich merke es nicht so leicht. Sie könnten denken, es ist nur eine Konvertierungsfunktion. (Besonders wenn Sie eine Person sind, die mit Servern und Infrastruktur nicht vertraut ist.)

[Zusammenfassung]

Verwenden Sie vor dem Ändern der PHP-Quelle den Nameserver des Kommunikationsziels Es ist wie ein Dos-Angriff. (Es tut mir Leid.)

Wie oft Sie gethostbyaddr () aufrufen, Rufen Sie nicht wiederholt mit derselben IP-Adresse an Ich denke, es ist auch notwendig, Wege zu finden, um die Ergebnisse zwischenzuspeichern.

Es gibt jedoch kein Problem bei der normalen Verwendung. Weil es unglaublich geloopt war Es hat nur die Netzwerklast erhöht.

Recommended Posts

gethostbyaddr () kommuniziert mit der Außenwelt
Setzen Sie den Debugger mit der Nase ein
Töte den Prozess mit sudo kill -9
Errate das Passwort mit klee
Schaben Nikkei Durchschnitt mit Dramatiker-Python
Überprüfen Sie den Code mit flake8
Kalibrieren Sie das Modell mit PyCaret
Rufen Sie die API mit python3 auf.
QR-Code mit CNN entschlüsseln
Extrahieren Sie die xz-Datei mit Python
Extrahieren Sie den Maximalwert mit Pandas.
Verwenden Sie die Vorschaufunktion mit aws-cli
Mit PyEphem ist der Weltraum gefährlich
Bereiten Sie die Straße mit Kombinationsoptimierung
Führen Sie die App mit Flask + Heroku aus
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Finden Sie die Bearbeitungsentfernung (Levenshtein-Entfernung) mit Python
Entdecken Sie das Labyrinth mit erweitertem Lernen
Mit OpenCV die einfachsten Fehler finden
Klicken Sie mit Python auf die Etherpad-Lite-API
Installieren Sie das Python-Plug-In mit Netbeans 8.0.2
Anrufdiagramm mit PyCallGraph ausgeben
Installieren Sie die Datendatei mit setup.py
Debuggen Sie das Skript mit Sakura Editor
Ich mochte den Tweet mit Python. ..
Beherrsche den Typ mit Python [Python 3.9 kompatibel]
Drücken Sie den obersten Befehl mit htop
Versuchen Sie, das Bild mit opencv2 zu verwischen
Validieren Sie das Trainingsmodell mit Pylearn2
Datei mit Standard-App öffnen
Bereiten Sie die Entwicklungsumgebung mit anyenv vor