it-swarm.com.de

Kann man eine Adresse anpingen: port?

Ich beschäftige mich nicht mit Netzwerken und habe die folgende Frage im Zusammenhang mit dem Linux-Befehl ping .

Kann ich nur eine Adresse anpingen? Zum Beispiel:

[email protected] ~ $ ping onofri.org
PING onofri.org (67.222.36.105) 56(84) bytes of data.
64 bytes from onofri.org (67.222.36.105): icmp_req=1 ttl=47 time=202 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=2 ttl=47 time=206 ms
64 bytes from onofri.org (67.222.36.105): icmp_req=3 ttl=47 time=215 ms

Oder kann ich auch eine Adresse anpingen: port , zum Beispiel: onofri.org:80 ?

Wenn ich es versuche, funktioniert es nicht:

[email protected] ~ $ ping onofri.org:80
ping: unknown Host onofri.org:80

Kann man so etwas wie Adresse: Port anpingen? Wenn es möglich ist, warum funktioniert das, was ich versucht habe, nicht?

207
AndreaNobili

Sie können Paping verwenden, ein plattformübergreifendes TCP Port-Testen, das die Funktionalität von Ping (Port-Ping) emuliert.

(siehe auch Github da code.google.com abgeschrieben wurde)

paping -p 80 google.com
19
kxmp

Ports sind ein Konzept von UDP und TCP . Ping-Nachrichten werden technisch als ICMP Echo Request und ICMP Echo Reply bezeichnet, die Teil von ICMP sind. ICMP, TCP und UDP sind "Geschwister". Sie basieren nicht aufeinander, sondern sind drei separate Protokolle, die auf IP ausgeführt werden.

Aus diesem Grund kann ein Port nicht ping sein. Was Sie können tun, ist einen Port-Scanner wie nmap zu verwenden.

nmap -p 80 onofri.org

Sie können auch telnet onofri.org 80 verwenden, wie in einer der anderen Antworten vorgeschlagen (es wird ein Fehler ausgegeben, wenn der Port geschlossen oder gefiltert ist).

305
BenjiWiebe

Ich benutze Telnet , da es in vielen Plattformen ohne zusätzliche Downloads eingebaut ist.

Verwenden Sie einfach den Befehl telnet, um eine Verbindung zu dem Port herzustellen, den Sie testen möchten. Wenn Sie die folgende Nachricht oder eine Nachricht vom Dienst selbst erhalten, ist der Port aktiv.

Minty16 ~ $ telnet localhost 139
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Wenn Sie die Befehlssequenz für den Dienst kennen, zu dem Sie eine Verbindung herstellen, können Sie einen Befehl eingeben (z. B. HTTP/FTP GET ) und die Antwort und Ausgabe im Terminal beobachten. Dies ist sehr nützlich, um den Dienst selbst zu testen, da hier Fehlerinformationen angezeigt werden, die an den Client gesendet wurden, beispielsweise HTTP 500-Fehler.

Wenn Sie eine Meldung erhalten, dass die Verbindung abgelehnt wurde, wird der Port geschlossen.

Minty16 ~ $ telnet localhost 5000
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused
83
Frank Thomas

Sie können mit netcat eine Verbindung zu einem bestimmten Port herstellen, um festzustellen, ob Sie eine Verbindung erhalten. Das Flag -v erhöht die Ausführlichkeit, um anzuzeigen, ob der Port offen oder geschlossen ist. Das Flag -z bewirkt, dass netcat beendet wird, sobald eine Verbindung besteht. Sie können dann die Exit-Codes über $? um zu sehen, ob die Verbindung hergestellt wurde oder nicht.

$ nc -zv localhost 22
localhost [127.0.0.1] 22 (ssh) open
$ echo $?
0
$ nc -zv localhost 23
localhost [127.0.0.1] 23 (telnet) : Connection refused
$ echo $?
1

Darüber hinaus können Sie mtr mit dem Flag -T für tcp und dem Flag -P verwenden, um einen Port anzugeben. Dadurch wird etwas Ähnliches wie bei einer Traceroute über TCP und nicht nur über ICMP ausgeführt. Dies kann jedoch übertrieben sein.

seufz Ich muss bearbeiten, um dieses Bit hinzuzufügen, da wir keinen Code in Kommentare einfügen können. Knoppix macht vielleicht etwas anderes mit seiner Version von Netcat, aber das ist, was ich von Linux Mint bekomme

$ date;nc -z -w 1 www.google.com 8000;date
Fri Jun 20 15:55:26 PDT 2014
Fri Jun 20 15:55:27 PDT 2014
$ date;nc -z -w 4 www.google.com 8000;date
Fri Jun 20 15:55:33 PDT 2014
Fri Jun 20 15:55:37 PDT 2014

$ nc -h
[v1.10-40]
43
Falsenames

Ja, benutze HPing um das zu tun:

$ Sudo hping -S -p 80 google.com
HPING google.com (p5p1 77.237.27.37): S set, 40 headers + 0 data bytes
len=46 ip=77.237.27.37 ttl=58 id=25706 sport=80 flags=SA seq=0 win=29200 rtt=7.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25707 sport=80 flags=SA seq=1 win=29200 rtt=7.4 ms
len=46 ip=77.237.27.37 ttl=58 id=25708 sport=80 flags=SA seq=2 win=29200 rtt=8.5 ms
len=46 ip=77.237.27.37 ttl=58 id=25709 sport=80 flags=SA seq=3 win=29200 rtt=7.8 ms
^C
--- google.com hping statistic ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 7.4/7.8/8.5 ms

Beachten Sie, dass es Root-Rechte (oder SELinux-Fähigkeiten) benötigt, um rohe IP-Pakete zu erstellen, genau wie Ping (was auf Ihrem System höchstwahrscheinlich sinnvoll ist).

42
d33tah

Sie können auch nping verwenden (Teil von nmap):

$ nping -p 80 localhost

Starting Nping 0.6.00 ( http://nmap.org/nping ) at 2014-06-23 11:57 CEST
SENT (0.0015s) Starting TCP Handshake > localhost:80 (127.0.0.1:80)
RECV (0.0016s) Handshake with localhost:80 (127.0.0.1:80) completed
SENT (1.0027s) Starting TCP Handshake > localhost:80 (127.0.0.1:80)
RECV (1.0027s) Handshake with localhost:80 (127.0.0.1:80) completed
SENT (2.0038s) Starting TCP Handshake > localhost:80 (127.0.0.1:80)
RECV (2.0039s) Handshake with localhost:80 (127.0.0.1:80) completed
SENT (3.0050s) Starting TCP Handshake > localhost:80 (127.0.0.1:80)
RECV (3.0050s) Handshake with localhost:80 (127.0.0.1:80) completed
SENT (4.0061s) Starting TCP Handshake > localhost:80 (127.0.0.1:80)
RECV (4.0062s) Handshake with localhost:80 (127.0.0.1:80) completed

Max rtt: 0.032ms | Min rtt: 0.008ms | Avg rtt: 0.012ms
TCP connection attempts: 5 | Successful connections: 5 | Failed: 0 (0.00%)
Tx time: 4.00575s | Tx bytes/s: 99.86 | Tx pkts/s: 1.25
Rx time: 4.00575s | Rx bytes/s: 49.93 | Rx pkts/s: 1.25
Nping done: 1 IP address pinged in 4.01 seconds
17
nyuszika7h

Sie können dies in der Shell mit Python als nicht allzu kurzem Einzeiler tun:

$ portping() { python <<<"import socket; socket.setdefaulttimeout(1); socket.socket().connect(('$1', $2))" 2> /dev/null && echo OPEN || echo CLOSED; }
$ portping 8.8.8.8 54
CLOSED
$ portping 8.8.8.8 53
OPEN
7
AXE-Labs

Ich füge watch tool hier hinzu:

watch nmap -p22,80 google.com

Every 2,0s: nmap -p22,80 google.com   Mon Jun 15 16:46:33 2015

Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-15 16:46 NOVT
Nmap scan report for google.com (127.0.0.1)
Host is up (0.0012s latency).
rDNS record for 127.0.0.1: google.com
PORT     STATE  SERVICE
22/tcp open   ssh
80/tcp closed http

Nmap done: 1 IP address (1 Host up) scanned in 0.18 seconds
3
vp_arth

Versuchen Sie, die Kommunikation zu testen oder eine Antwort von Port 80 auf diesem Knoten zu erhalten? PING versucht, über ICMP eine Verbindung zu einem bestimmten Host herzustellen, die nichts mit Ports zu tun hat.

Versuchen Sie stattdessen http://nmap.org/ , um die Portinformationen zu überprüfen und die Kommunikation zu testen:

nmap -v -p 80 onofri.org
2
Quijote Shin

Mit nmap ist es einfach

beispiele:

#sintaxis
nmap -p [port] hostName
#first is command, after scan ports, type port - port or range ports, and ip or name of website...

## Scan port 80
nmap -p 80 onofri.org

## Scan TCP port 80
nmap -p T:80 onofri.org

## Scan UDP port 53
nmap -p U:53 onofri.org

## Scan two ports ##
nmap -p 80,443 onofri.org

## Scan port ranges ##
nmap -p 80-200 onofri.org

## Combine all options ##
nmap -p U:53,111,137,T:21-25,80,139,8080 onofri.org
nmap -p U:53,111,137,T:21-25,80,139,8080 server1.cyberciti.biz
nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 onofri.org

## Scan all ports with * wildcard ##
nmap -p "*" 192.168.1.1

## Scan top ports i.e. scan $number most common ports ##
nmap --top-ports 5 onofri.org
nmap --top-ports 10 onofri.org

Weitere Informationen finden Sie hier:

geben Sie die folgende Befehlszeile ein: man nmap

http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/http://www.tecmint.com/nmap-command-examples/

2
DarckBlezzer