Come posso determinare se una macchina è in linea senza utilizzare ping?

Ho usato per usare un'applicazione che potrebbe pingare o magari eseguire una scansione di porte su una macchina anche se la macchina è stata configurata per non permetterlo.

Attualmente sto cercando di pingare una macchina remota nella nostra WAN, ma ho configurato la macchina per non permettere il ping. C'è qualcosa di simile al ping che posso usare?

  • Linux: Ping tutto l'host nella substring
  • Perché DownOrNot e JustPing stanno comunicando che il mio sito è in discesa?
  • Come funziona TCP Ping o Traceroute?
  • Ospiti pubblici per ping
  • Perché non posso pingare il mio nuovo set di amministrazione EC2 per il servizio web amazon?
  • Come posso utilizzare ping con una grande dimensione del pacchetto per risolvere i problemi di networking?
  • Ancora una volta, questa è una macchina situata in un'altra città che fa parte del nostro guadagno.

  • Come fermare l'output ping?
  • Perché Ping non mostra RTT?
  • Strano: perché linux risponde a ping con richiesta ARP dopo l'ultima risposta ping?
  • Perché non posso ssh o ping la mia nuova versione Amazon EC2?
  • Perché le latenze tracciate non si aggiungono alla latenza ping?
  • Un'alta variablestà nei tempi di risposta di Ping indica un potenziale problema di networking?
  • 14 Solutions collect form web for “Come posso determinare se una macchina è in linea senza utilizzare ping?”

    Se si utilizza XP / 2003 + (questo include Vista / 2008/7 ), è ansible utilizzare Win32_PingStatus . Le macchine in cui è in esecuzione il codice di script è l'unico sistema che deve essere XP / 2003 + e funziona proprio come utilizzare Ping.exe, solo non utilizza ping.exe in modo che dovrebbe agire come una lacuna alla tua impostazione di protezione che non consente l'esecuzione di ping.exe.

    strComputer = "192.168.1.1" Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery _ ("Select * from Win32_PingStatus " & _ "Where Address = '" & strComputer & "'") For Each objItem in colItems If objItem.StatusCode = 0 Then WScript.Echo "Reply received." End If Next 

    Vedere l'articolo Scripting Guy per ulteriori informazioni su come utilizzare Win32_PingStatus:

    http://www.microsoft.com/technet/scriptcenter/resources/qanda/sept04/hey0914.mspx

    È ansible telnet ad una port aperta tcp sulla macchina. Ad esempio, se la macchina è un server web e ha la port 80 aperta, è sufficiente:

     telnet ip.ad.dre.ss 80 

    Questo functionrà anche su porte crittografate (anche se non sarà in grado di comprendere i dati)

    Alcune altre porte da provare sono:

    • 443 per un server https
    • 22 per ssh

    (c'è un elenco di porte / servizi in / etc / services sulle macchine Linux)

    Esegui un agente SNMP sulla macchina remota e utilizzi un gestore per leggere uno dei valori fuori dalla norma MIB.

    Se non si dispone di firewall e router nel modo, cioè, se siete sullo stesso segmento dell'host che stai cercando di controllare – la maggior parte delle soluzioni sopra riportte sono un po 'imho esaustivo.

    Non import quale port con cui si connette, e infatti se si connette a una port che non è probabile che un servizio sia in esecuzione, è ansible get il lavoro fatto senza essere rilevato.

    Come?

    Puoi utilizzare qualsiasi strumento che ti piace, ma possiamo usare solo telnet …

     % telnet <host> 313373 Trying 10.211.55.3... telnet: connect to address 10.211.55.3: Connection refused telnet: Unable to connect to remote host % 

    Questo dovrebbe accadere immediatamente, a less che l'host non abbia lasciato i pacchetti. Ciò che sta accadendo è che lo stack TCP / IP nell'host sta inviando indietro un segmento TCP con il set di bit RST – ossia terminando il pacchetto SYN.

    Il fatto che tu abbia ricevuto un pacchetto RST significa che vi è davvero un host all'altro capo, e come bonus – hai fatto così non rilevato (il TCP / IP non aveva alcuna applicazione di livello superiore per parlare di questa connessione) .

    Anziché telnet, però, probabilmente avrei usato qualcosa come scappa, scrivo qualcosa che cerca la bandiera RST e lo fa sapere.

    Solo per completare questa operazione, se non vi è alcun host nell'IP che si tenta – si appende per un po 'di tempo e il timeout – la stessa cosa che accadrebbe se l'host ricevente avesse un firewall con un filter a goccia.

    Se i firewall sono coinvolti, come altri hanno suggerito, utilizzare strumenti come nmap e qualsiasi altra cosa.

    Se si ha accesso ad un'altra macchina sulla stessa LAN della macchina di destinazione, è ansible utilizzare l' arping .

    Arping funziona inviando i pacchetti ARP che mirano alla macchina, questo funziona perfettamente perché non è ansible bloccare i pacchetti arp se si desidera utilizzare la networking (beh, è ​​ansible impostare tabelle arp statiche ovunque: D) Ma il lato negativo è che devi essere all'interno la stessa LAN come il tuo objective arping.

    Ci sono servizi disponibili sulla macchina? Un modo per vedere se una macchina è lì è quello di utilizzare il client telnet per connettersi ad esso, ma cambiando la port che è necessario colpire.

    Quindi, consente di dire che la macchina esegue MS SQL che viene eseguito sulla port 1433 per impostazione predefinita. Si utilizza il seguente command

     telnet machine-name-address 1433 

    Se Telnet collega la macchina in esecuzione, non significa che funziona correttamente, ma l'ascolto di tale port comunque

    per i in seq 1 65535 ; fare tcpconnect -v remotehost $ i; fatto

    nmap -T5 -sS -P0 ho.st.ip.addr Che vedrà cosa è disponibile sulla port in quella macchina .. Raccomandi di installare cygwin se si esegue in Windows o non ha accesso a una macchina Linux.

    scanner di networking softperfect.

    google per esso.

    Lo uso molto. Funziona alla grande

    Google per "nmap". Lo uso tutto il tempo. Ottimo per la verifica dei firewall funzionano come previsto. Inoltre credo che sia stato fatto riferimento in un film di Matrix che lo rende doublemente impressionante.

    È ansible che la macchina invii una trappola snmp (pacchetto) una volta al minuto a un monitor remoto e stabilisca una regola per controllare che stai ricevendo la trappola each minuto.

    È ansible installare un semplice server web e utilizzare una pagina web che dice "ONLINE". È sufficiente collegarsi ad esso ovunque tu desideri Naturalmente hai bisogno di un ip statin o di servizi di collegamento

    Un approccio molto semplice è quello di telnet a una port TCP che dovrebbe essere aperta sul server, vale a dire:

    telnet theServerHostname 80

    Anche se il servizio è in discesa, si otterrebbe lo stesso risultato come se l'host fosse in discesa.

    Ci sono tutti i tipi di scansioni che possono essere fatti con nmap, conoscere loro sul sito di nmap e si dovrebbe diventare un esperto su come testare se un host è in su. Questi includono l'utilizzo di protocolli diversi da icmp (ping), come TCP (come telnet) e UDP.

    Inoltre, se volete qualcosa che include la possibilità di connettersi a udp, che è simile a telnet in questo senso, consideri netcat .

    La versione 2.0 di Scanner di port di row di command di PortQry di Microsoft

    Lo uso per testare spesso le porte di SQL Server

    open port = LISTENING o NON DESTINATO firewall = FILTERED

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.