Je ne suis pas dans la mise en réseau, et j'ai la question suivante liée à la commande de ping de Linux .
Puis-je seulement cingler une adresse? Par exemple:
miner@raspberrypi ~ $ 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
Ou puis-je aussi envoyer une requête ping à une adresse: port , par exemple: onofri.org:80 ?
Si j'essaye celui-ci ça ne marche pas:
miner@raspberrypi ~ $ ping onofri.org:80
ping: unknown host onofri.org:80
Est-il possible de faire un ping avec quelque chose comme adresse: port ? Si c'est possible, pourquoi ce que j'ai essayé ne fonctionne-t-il pas?
linux
networking
ping
AndreaNobili
la source
la source
GET /index.html HTTP\1.1
et voir la réponse 200 (ou le code d'erreur) avec le balisage résultant.HTTP\1.1
? Vraiment?HTTP/1.1
...Réponses:
Vous pouvez utiliser Paping , un test de port TCP multiplateforme, émulant les fonctionnalités de ping (port ping)
(voir aussi Github car code.google.com a été amorti)
la source
paping
? J'ai visité le repo mais il n'y a pas de version. Ah, tant pis .. le code de Google n'était pas accessible pour moi à l'époque.Les ports sont un concept de UDP et TCP . Les messages Ping sont techniquement appelés demande d' écho ICMP et réponse d'écho ICMP, qui font partie d' ICMP . ICMP, TCP et UDP sont des "frères et soeurs"; ils ne sont pas basés les uns sur les autres, mais sur trois protocoles distincts qui s'exécutent sur IP.
Par conséquent, vous ne pouvez pas
ping
un port. Ce que vous pouvez faire, c'est utiliser un scanner de port similairenmap
.Vous pouvez également utiliser
telnet onofri.org 80
, comme suggéré dans l’une des autres réponses (cela donnera une erreur si le port est fermé ou filtré).la source
J'utilise Telnet , car il est intégré à de nombreuses plates-formes sans téléchargement supplémentaire.
Utilisez simplement la commande telnet pour vous connecter au port que vous souhaitez tester. Si vous recevez le message ci-dessous ou un message du service lui-même, le port est actif.
Si vous connaissez la séquence de commandes du service auquel vous vous connectez, vous pouvez taper une commande ( HTTP / FTP GET par exemple) et observer la réponse et la sortie dans le terminal. Ceci est très utile pour tester le service lui-même, car il vous montrera les informations d'erreur envoyées au client, telles que les erreurs HTTP 500.
Si vous recevez un message indiquant que la connexion a été refusée, le port est fermé.
la source
Oui, utilisez HPing pour le faire:
Notez qu'il a besoin des privilèges root (ou des fonctionnalités SELinux) pour créer des paquets IP bruts, tout comme ping (qui est probablement suid sur votre système).
la source
hping3
.Est-ce la même chose quehping3
? @ d33tahhping3
et tous les ports sont pingés .. Peu importe que ce soit fermé ou ouvert .. Comment savoir si un port est fermé ou ouvert?Vous pouvez utiliser netcat pour vous connecter à un port spécifique pour voir si vous obtenez une connexion. L'option -v augmentera la verbosité pour indiquer si le port est ouvert ou fermé. L'indicateur -z entraînera la fermeture de netcat une fois la connexion établie. Vous pouvez ensuite utiliser les codes de sortie via $? pour voir si la connexion était établie ou non.
De plus, vous pouvez utiliser mtr avec l'indicateur -T pour tcp et l'indicateur -P pour spécifier un port. Cela fera quelque chose de similaire à un traceroute sur TCP au lieu de simplement ICMP. Cela peut être exagéré, cependant.
soupir je dois modifier pour ajouter ce bit, car nous ne pouvons pas mettre du code dans les commentaires. Knoppix est peut-être en train de faire quelque chose de différent avec sa version de netcat, mais c'est ce que je tire de Linux Mint
la source
nc -z www.google.com 8000
cela peut prendre beaucoup de temps - plus de 5 secondes. Si je fais-w 1
alors cela prend 5 secondes. Si je le fais,-w 3
cela prend environ 3 fois plus de temps .. 15 clignotements du curseur, 15 secondes.-w 1
est censé être une seconde mais testé sur cygwin.,. 5 secondes. C'est super rapide quand il y a un serveur sur le port mais un peu lent quand il n'y en a pas.Vous pouvez aussi utiliser
nping
(une partie denmap
):la source
nping --tcp -p 80 localhost
Vous pouvez faire cela dans le shell avec Python comme un liner pas si court:
la source
Juste pour référence, je voulais partager un post de Vivek Gite: https://www.cyberciti.biz/faq/ping-test-a-specific-port-of-machine-ip-address-using-linux-unix/# commentaire-920398
Il énumère diverses manières, dont certaines sont déjà publiées ici. Mais le plus surprenant pour moi n’était autre que
bash
:Ou une version super simple: il suffit de regarder le résultat du modèle de commande suivant:
Utile lorsque vous travaillez avec des conteneurs de docker aléatoires.
la source
looking at the output
- seulement inspecter le code retour$?
peut être utile. En outre, il se bloque sur les ports fermés, peut-être un certain délai peut être configuré n'importe où ...echo >/dev/tcp/{hostname}/{portnumber}
ne se termine pas lorsque le port est fermé. Etecho >/dev/tcp/{hostname}/{portnumber}
ne montre rien même si le port est ouvert et que je peux le voir sur un navigateur.Connection refused
. Sinon, la sortie n’affiche rien etecho $?
indique le code de sortie1
J'ajoute un
watch
outil ici:watch nmap -p22,80 google.com
la source
C'est simple avec
nmap
exemples:
Pour plus d'informations, voir ceci:
tapez en ligne de commande ceci:
man nmap
http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/ http://www.tecmint.com/nmap-command-examples/
la source
Essayez-vous de tester la communication ou d'obtenir une réponse du port 80 sur ce nœud?
PING
essaiera d’établir une communication avec un hôte spécifique via ICMP qui n’a rien à voir avec les ports.Essayez plutôt http://nmap.org/ pour vérifier les informations sur le port et tester la communication:
la source