PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Domain pingen, IP auslesen und speichern


Funky Bob
2005-08-17, 19:06:25
Hiho,
also mein Anliegen ist es, dass ein kleines Proggie bzw. ne einfache Batchdatei, ne Domain anpingt und die IP der Domain ausliest. Diese IP soll dann halt gespeichert werdem in einer .txt Datei (optimalterweise in einer .cfg).

Das will ich nicht um irgendwelche unwichtigen Daten zu sammeln, sondern das brauche ich für ein Spiel, bei welchem ich als Server meine IP eintragen muss, damit die Leute überhaupt gescheit connecten können. Dies nun immer von Hand zu machen ist einfach nur mühsam, darum wollte ich fragen, ob jemand mir Helfen kann, dies zu realisieren.

Optimal wäre einfach ne neue Datei namens ipconf zu erstellen (bzw. die alte zu überschreiben) mit folgender Syntax:

ms_ip XXX.XXX.XXX.XXX

Das wärs auch schon *g*

Danke euch falls ihr Hilfe anbieten könnt!

PatkIllA
2005-08-17, 19:57:24
@echo off
echo ms_ip | tr -d \n\r > ipconf
ping -n 1 host.tld | grep -o -m 1 -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]' >> ipconf
Das klappt zumindest wenn man cygwin drauf hat oder sich die beiden Kommandozeilentools "tr" und "grep" besorgt.

Funky Bob
2005-08-17, 20:12:10
@echo off
echo ms_ip | tr -d \n\r > ipconf
ping -n 1 host.tld | grep -o -m 1 -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]' >> ipconf
Das klappt zumindest wenn man cygwin drauf hat oder sich die beiden Kommandozeilentools "tr" und "grep" besorgt.




Danke Dir!

Könntest du nun noch kurz erklären was wo passiert, ich weiss zum Beispiel nicht, wofür das .tld steht usw :)

Wäre sehr nett :)

PatkIllA
2005-08-17, 20:15:52
host.tld ist als Platzhalter für die Domain die du anpingen willst.
Die zweite Zeile schreibt das ms_ip in die Datei und überschreibt sie falls vorhanden. Das tr entfernt den Zeilenumbruch.
In der zweiten Zeile wird gepingt und per grep der interessante Teil (sprich die IP) rausgefiltert und dann an die die Datei angehängt.

Funky Bob
2005-08-17, 20:27:37
Er legt die Datei zwar an, doch leider speichert er die ip nicht (auch wnen ich es manuell mit cygwin öffne :(

PatkIllA
2005-08-17, 20:38:14
steht denn das ms_ip in der Datei?
was gibt denn die Zeile mit dem Ping befehl aus, wenn du es ohne Umleitung in der Kommandozeile ausführst? Sicher, dass du dich nicht beim Hostnamen verschrieben hast?

Funky Bob
2005-08-17, 20:42:09
In der normalen winkonsole is der Befehl tr unbekannt und unter cygwin schliesst sich das Kommandofenster leider sofort....

PatkIllA
2005-08-17, 20:43:19
den bin Ordner von cygwin zum mal zur PATH Umgebungsvariable hinzufügen.

Funky Bob
2005-08-17, 20:55:21
Ok nun gehts, nächster Fehler ist, das nach der IP noch nen kleines viereck hinter steht, das ist glaub ich nen Enterzeichen oder?

PatkIllA
2005-08-17, 21:00:45
Ok nun gehts, nächster Fehler ist, das nach der IP noch nen kleines viereck hinter steht, das ist glaub ich nen Enterzeichen oder?
ping -n 1 heise.de | grep -o -m 1 -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]' | tr -d \n\r >> ipconf
dann sollte es gehen.

Funky Bob
2005-08-17, 21:14:21
ping -n 1 heise.de | grep -o -m 1 -e '[0-9]*\.[0-9]*\.[0-9]*\.[0-9]' | tr -d \n\r >> ipconf
dann sollte es gehen.


Geht auch shcon so, wird wohl ignoriert vom Spiel!


Fettes merci dir!!