Get my public IP mit netcat
Ich habe eine sehr einfache Linux-server läuft auf einer IP-Kamera (Busybox). Ich würde gerne die öffentliche IP der Kamera, die sich hinter einem router.
Es hat kein "wget" oder "traceroute" und "ping" ist nur die Antwort auf "lebendig" oder "nicht lebendig"...
Die einzige, die eine grundlegende "netcat" :
nc
BusyBox v1.1.3 (2009.12.07-16:16+0000) multi-call binary
Usage: nc [OPTIONS] [IP] [port]
Netcat opens a pipe to IP:port
Options:
-l listen mode, for inbound connects
-p PORT local port number
-i SECS delay interval for lines sent
-w SECS timeout for connects and final net reads
-4 Use IPv4 (default)
-6 Use IPv6
-D DSCP set IP DSCP field
-P PRIO set VLAN user-priority
Mein ISP erlaubt ausgehende HTTP -, ist es möglich, mit Hilfe von von netcat, um die öffentliche IP-Antwort von einer Website wie www.obtainip.com oder ähnlich ?
TOLL und vielen Dank an beide von Euch, wie ich fühlte mich nicht wohl mit nc-an alle.
Hier sind die 2 Arbeitsweisen :
echo "GET /automation/n09230945.asp HTTP/1.0" > http_req2.txt
echo "Host: www.whatismyip.com" >> http_req2.txt
echo "" >> http_req2.txt
echo "" >> http_req2.txt
IP2=$(cat http_req2.txt | nc www.whatismyip.com 80 | tail -n 1)
echo $IP2
YEAH !
mehr seltsam, aber... es funktioniert auch :
echo "GET /HTTP/1.0" > http_request.txt
echo "Host: www.whatismyip.com" >> http_request.txt
echo "User-Agent: netcat" >> http_request.txt
echo "Referer: http://www.whatismyip.com/" >> http_request.txt
echo "" >> http_request.txt
echo "" >> http_request.txt
IP=$(cat http_request.txt | nc www.whatismyipaddress.com 80 | tail -n 1)
echo $IP
YEAH again!
BEARBEITEN
Natürlich kann das Skript erstellt werden, besser wie vorgeschlagen :
echo -e "GET /automation/n09230945.asp HTTP/1.0\n"Host: www.whatismyip.com\n\n" | nc www.whatismyipaddress.com 80 | tail -n 1
- Installieren Sie wget oder curl oder...?
- hum ich kann nicht installieren Sie wget oder curl, sonst ich würde haben liebte dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
erstellen Sie eine Datei namens 'script'
setzen Sie diese in den Inhalt
Stellen Sie sicher, dass es 2 leere Zeilenvorschübe auf dem Boden (dieser editor nicht anzeigen Sie)
führen
Da steht deine ip... man kann es in eine variable wie
Diese Rückkehr wird nur die ip-Adresse, kein Aufhebens
script
- Datei mit den entsprechenden Inhalten (einschließlich zwei leere Zeilen am unteren Rand). Abercat script | nc www.whatismyip.com 80 | tail -1
druckt nichts. Wenn ich es vereinfachen zucat script | nc www.whatismyip.com 80
es noch druckt nichts.nc icanhazip.com 80
, dannGET /
.Da whatismyip.com's automation down ist, hier eine alternative:
...die Ausgabe wird Ihre IP-Adresse.
echo GET /|nc icanhazip.com 80
Du kann netcat verwenden, um zu senden einem Arbeits -, Konserven-HTTP-request:
Befehl
httpreq.txt (stellen Sie sicher, Ende der Datei, die mindestens zwei leere Zeilen)
...aber Sie benötigen noch einen Mechanismus zum analysieren der HTTP-Antwort.
Selbst wenn Sie finden eine "wie ist meine IP" web-service, gibt nur die schlichte IP-Adresse im Klartext an (befreien Sie von dem parse-HTML), werden Sie noch brauchen, um zu analysieren, aus den HTTP-Antwort-Header.
Welche Ausstattung haben Sie es erlauben würde, Sie zu tun, einige string-parsing? BASH? sed? awk?
Edit: sieht aus wie superfro fand eine plain-text "was ist meine ip" - service, und eine einfache Möglichkeit, zu analysieren, aus den HTTP-Antwort-Header.
/automation/n09230945.asp
URL. Es ist mehrfach erwähnt auf diesem website forum als eine Alternative Methode zum abrufen Ihrer IP-Adresse. Verwenden Sie die Analyse der IP-Adresse viel einfacher. Aber, verwenden Sie, was Ihnen gefällt und was für Sie arbeitet!wenn du sed auf Ihrem Rechner, können Sie versuchen,