Vérifier si l'hôte distant est en Python
Comment puis-je vérifier si l'hôte distant est sans avoir un numéro de port? Est-il un autre moyen que je puisse vérifier les autres, puis l'utilisation de la commande ping.
Il est possible que l'hôte distant peut déposer des paquets ping
Pouvez-vous donner un exemple? Vous pourriez en boucle par tous les ports pour un hôte donné (ou au moins des ports communs), mais qui commence à la frontière de black-hat.
À partir d'un rapide coup d'œil sur les réponses que je en conclure que votre question est un peu vague. Vous pourriez obtenir de meilleures réponses si vous aussi vous indiquer la nature de votre ultime/de haut niveau de l'objectif: par exemple, voulez-vous de surveiller la disponibilité d'un service, ou voulez-vous écrire une sorte de réseau de sécurité de l'outil de vérification qui découvre les hôtes qui sont "en haut"?
À partir d'un rapide coup d'œil sur les réponses que je en conclure que votre question est un peu vague. Vous pourriez obtenir de meilleures réponses si vous aussi vous indiquer la nature de votre ultime/de haut niveau de l'objectif: par exemple, voulez-vous de surveiller la disponibilité d'un service, ou voulez-vous écrire une sorte de réseau de sécurité de l'outil de vérification qui découvre les hôtes qui sont "en haut"?
OriginalL'auteur user140736 | 2010-03-28
Vous devez vous connecter pour publier un commentaire.
Cela a bien fonctionné pour moi:
SOMEHOST
vient de la saisie de l'utilisateur. e.g siSOMEHOST = google.com; echo "nasty command"
les utilisateurs malveillants de commande sera exécutée après le ping finitions.OriginalL'auteur jmunsch
Un protocole de niveau PING est meilleur, c'est à dire, de la connexion au serveur et interagir avec elle d'une manière qui ne fait pas de vrai travail. C'est parce que c'est la seule façon d'être sûr que le service est en place. Un ÉCHO ICMP (un.k.un. ping) ne dites-vous que l'autre extrémité de l'interface réseau est en place, et même alors, peut être bloqué; FWIW, j'ai vu des machines où tous les processus utilisateur a été murée, mais qui pourrait être activée. En ces jours de serveurs d'applications, même obtenir une connexion réseau peut ne pas être suffisant; que si hosted app est en panne ou non-fonctionnel? Comme je l'ai dit, en parlant sucré-riens pour le service qui vous intéresse est le meilleur, le plus sûr d'approche.
OriginalL'auteur Donal Fellows
Le meilleur que vous pouvez faire est:
De nombreux sites de bloc ICMP (le portocol ping vers des sites), donc vous devez savoir à l'avance si l'hôte en question l'a activée ou non.
De la connexion à un port vous dit mixte de l'information. Cela dépend vraiment de ce que vous voulez savoir. Un port peut être ouvert, mais le site est effectivement accrochés sorte que vous pouvez obtenir un faux positif. Une méthode plus rigoureuse pourrait impliquer l'utilisation de un HTTP bibliothèque pour exécuter une requête Web dans un site et voir si vous obtenez de retour une réponse.
Elle a vraiment tout dépend de ce que vous devez savoir.
OriginalL'auteur cletus
De nombreux pare-feu sont configurés pour déposer les paquets ping sans répondre. En outre, certaines cartes réseau répondra aux requêtes ping ICMP sans l'apport du réseau du système d'exploitation de la pile, ce qui signifie que le système d'exploitation peut-être en panne, mais l'hôte répond encore aux pings (en général, vous remarquerez que si vous redémarrez le serveur, dis, ça va commencer à répondre aux pings certain temps avant que l'OS est en réalité en place et d'autres services de démarrage).
La seule façon d'être certain qu'un hôte est en haut, est en fait de tenter de s'y connecter via un port bien connu (par exemple le serveur web port 80).
Pourquoi avez-vous besoin de savoir si l'hôte est "en haut", peut-être il ya une meilleure façon de le faire.
OriginalL'auteur Dean Harding
Qu'en essayant quelque chose qui nécessite un RPC comme un "tasklist" commande en conjonction avec un ping?
OriginalL'auteur chonerman
Je voudrais utiliser un scanner de port. Question d'origine indique que vous ne souhaitez pas utiliser un port. Ensuite, vous devez spécifier le Protocole (Oui, c'besoin d'un port) que vous souhaitez surveiller (HTTP, VNC, SSH, etc). Dans le cas où vous souhaitez surveiller via ICMP vous pouvez utiliser des sous-processus et contrôle de ping des paramètres, le nombre de pings, délai d'attente, la taille, etc.
Dans le cas où vous voulez un scanner de port
OriginalL'auteur spicyramen