Es ist fast drei Jahre her, seit ich angefangen habe, Spigot [^ 1] zu verwenden, aber ich habe es immer noch nicht verstanden. [^ 1]: Einer der MOD-Server von Minecraft. URL: https://www.spigotmc.org/
Als ich die Kommunikation des Servers untersuchte, auf dem Spigot ausgeführt wird, um die Sicherheit usw. zu erhöhen, wurde eine seltsame Verbindung gefunden ...
>> netstat -ntu
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
~Unterlassung~
tcp6 0 1 xx.xx.xx.xx:35260 198.27.66.94:80 ESTABLISHED
Irgendwie mit 198.27.66.94: 80
kommunizieren ...
Als ich den Prozess über den Port mit lsof überprüfte, war es definitiv Spigot.
>> curl 198.27.66.94:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx on Debian!</title>
~Unterlassung~
</html>
Es sieht aus wie die Standardseite für Nginx. Keine Information.
>> nslookup 198.27.66.94
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx
Non-authoritative answer:
94.66.27.198.in-addr.arpa name = ns511765.ip-198-27-66.net.
Hmmm. Es scheint, dass es nicht eingestellt wurde.
Greifen Sie das Einsteckglas ohne Verwendung
>> unzip -c '*.jar' | grep '198\.27\.66\.94'
28 archives were successfully processed.
>> unzip -c '*.jar' | grep 'ns511765\.ip\-198\-27\-66\.net'
28 archives were successfully processed.
Ich weiß nichts
Als letzten Ausweg habe ich versucht, den Verbrecher zu identifizieren, indem ich das Plug-In schrittweise entfernt habe. Ich habe jedoch festgestellt, dass die Kommunikation auch dann stattfand, wenn überhaupt kein Plug-In installiert war.
tcpdump (Ich hätte es zuerst tun sollen.)
>> tcpdump dst host 198.27.66.94 -A
~Unterlassung~
User-Agent: Java/1.8.0_191
Host: mcstats.org
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-type: application/x-www-form-urlencoded
Content-Length: 261
Der Hostname des Verbindungsziels ist bekannt.
>> nslookup mcstats.org
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx
Non-authoritative answer:
Name: mcstats.org
Address: 198.27.66.94
So wurde ungefähr die Hälfte der Identität von "198.27.66.94" gefunden.
Wenn Sie wissen, dass der Spigot-Server selbst der Schuldige und der Hostname ist, identifizieren Sie den relevanten Teil des Codes.
Grep die von BuildTools generierte Zwischendatei
>> grep -r 'mcstats.org' .
./Spigot/CraftBukkit-Patches/0015-Metrics.patch:+ private static final String BASE_URL = "http://mcstats.org";
./Spigot/CraftBukkit-Patches/0015-Metrics.patch:+ configuration.options().header("http://mcstats.org").copyDefaults(true);
./Spigot/Spigot-Server/src/main/java/org/spigotmc/Metrics.java: private static final String BASE_URL = "http://mcstats.org";
./Spigot/Spigot-Server/src/main/java/org/spigotmc/Metrics.java: configuration.options().header("http://mcstats.org").copyDefaults(true);
Binary file ./Spigot/Spigot-Server/target/classes/org/spigotmc/Metrics.class matches
Es scheint eine Beschreibung zu geben, die sich auf "Spigot / Spigot-Server / src / main / java / org / spigotmc / Metrics.java" bezieht.
Den Inhalt des Patches können Sie hier im entsprechenden Teil überprüfen. https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/browse/CraftBukkit-Patches/0015-Metrics.patch?at=refs%2Fheads%2Fversion%2F1.12.2
Die Version des diesmal verwendeten Spigot-Servers ist übrigens 1.12.2, aber wenn er auf 1.13 aktualisiert wird, wird der Hostname von "mcstats.org" in "mcstats.spigotmc.org" (und von http in https) geändert. Es scheint, dass es geworden ist. Sie können das Commit hier sehen. https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/commits/ed1cec9ae9ee07f1b51bdda14dfe14b40e92c9ed#CraftBukkit-Patches/0014-Metrics.patch
Es scheint, dass es zur Übermittlung statistischer Informationen verwendet wird. Derzeit scheint es nicht als Dienst zu funktionieren.
Wie Sie dem Inhalt des Patches entnehmen können, werden Statistiken wie Informationen zum Server-Betriebssystem, die Spigot-Version und die Anzahl der Player an den oben gezeigten Host gesendet.
In der Vergangenheit hat mcstats.org
anscheinend einen Dienst betrieben, der Informationen auf dem Minecraft-Server sammelt und auf einer GUI anzeigt. BStats (https://bstats.org/) ist jetzt ein alternativer Dienst.
https://www.spigotmc.org/threads/mcstats-down.193444/
Bei der Aktualisierung auf 1.13 wurde der Hostname von "mcstats.org" in "mcstats.spigotmc.org" geändert, da geplant ist, ihn in Zukunft zu verwenden. https://hub.spigotmc.org/jira/browse/SPIGOT-4203
Dies ist eine Funktion, die derzeit nicht verwendet wird. Sie möchten daher unnötige Kommunikation vermeiden. Sie können diese Funktion deaktivieren, indem Sie die Option "Plugins / PluginMetrics / config.yml" auf "true" setzen.
plugins/PluginMetrics/config.yml
# http://mcstats.org
# opt-out: false
opt-out: true
guid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
debug: false
Es war eine Geschichte, dass Sie so viel wissen sollten, wenn Sie den Spigot-Server fast drei Jahre lang berührt hatten. (Andererseits frage ich mich, ob es viele Leute gibt, die das nicht wissen ...)
Es ist erfrischend, die Ursache zu verstehen. Ich habe das Gefühl, dass ich heute gut schlafen kann.