Ping kullanmadan bir makinenin çevrimiçi olup olmadığını nasıl belirleyebilirim?


12

Makine izin vermeyecek şekilde yapılandırılmış olsa bile, makinede ping atabilecek veya belki de bir bağlantı noktası taraması çalıştırabilecek bir uygulama kullanıyordum.

Şu anda WAN'ımızda bir uzak makineye ping işlemi yapmaya çalışıyorum, ancak makineyi ping işlemine izin vermeyecek şekilde yapılandırdım. Kullanabileceğim ping'e benzer bir şey var mı?

Yine, bu bizim wan bir parçası olan başka bir şehirde bulunan bir makine.

Yanıtlar:


4

XP / 2003 + kullanıyorsanız (buna Vista / 2008/7 dahildir ), Win32_PingStatus'u kullanabilirsiniz . Komut dosyası kodunu çalıştıran makineler XP / 2003 + olması gereken tek sistemdir ve sadece Ping.exe'yi kullanmak gibi çalışır, sadece ping.exe kullanmaz, bu yüzden güvenlik ayarınıza bir boşluk görevi görmelidir. ping.exe dosyasının yürütülmesine izin vermez.

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

Win32_PingStatus'un nasıl kullanılacağı hakkında daha fazla bilgi için Scripting Guy makalesine bakın:

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


2
Anladığım kadarıyla, uzak ana bilgisayar, yerel ana bilgisayardaki ping.exe'nin devre dışı bırakılmadığını değil, ICMP Yankı İsteği paketlerine yanıt vermeyecek şekilde yapılandırılmış olmasıdır. Gibi bu ping.exe çalıştırmak için farklı bir şey yapmayacak, yani hiçbir şey.
David Pashley

15

Makinede açık bir tcp portuna telnet yapabilirsiniz. Örneğin, makine bir web sunucusuysa ve bağlantı noktası 80 açıksa, sadece:

telnet ip.ad.dre.ss 80

Bu, şifreli bağlantı noktalarında bile çalışır (verileri anlayamayacak olsanız da)

Denenecek diğer bazı portlar:

  • Bir https sunucusu için 443
  • Ssh için 22

( Linux makinelerinde / etc / services içindeki bağlantı noktalarının / hizmetlerin bir listesi vardır )


7

Ping ICMP'dir, ICMP'yi engellediyseniz ping alamazsınız.

TCP / UDP bağlantılarını kabul ediyorsanız TCP veya UDP bağlantı noktalarını test edebilirsiniz.

Testinizi ping, nc, telnet ve diğer araçlara sahip olmayan kaplarda çalıştırıyorsanız, bu hileyi kullanabilirsiniz:

(echo >/dev/tcp/${host}/${port}) &>/dev/null && echo "open" || echo "closed"

Bu, cihaz üzerinden tcp / udp üzerinden bağlanmayı (vay, biliyorum) ve bağlantı noktası açıksa "açık" veya kapalı ise "kapalı" yankısını dener.

Durum böyle olduğunda "kapat" yankılanmadan önce bir süre askıda kalacaktır.


2
Cool Ben bunu docker pod ;-) kullanmak zorunda kaldı
Amorf

4

Uzak makinede bir SNMP aracısı çalıştırın ve standart MIB'deki değerlerden birini okumak için bir yönetici kullanın.


3

Yolda güvenlik duvarlarınız ve yönlendiricileriniz yoksa, yani kontrol etmeye çalıştığınız ana bilgisayarla aynı segmentteyseniz - yukarıdaki çözümlerin çoğu biraz kapsamlı bir imho'dur.

Hangi bağlantı noktasına bağlandığınız önemli değildir ve aslında, bir hizmetin çalışması olası olmayan bir bağlantı noktasına bağlanırsanız, işi algılanmadan yapabilirsiniz.

Nasıl?

İstediğiniz herhangi bir aracı kullanabilirsiniz, ancak telnet kullanabiliriz ...

% 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
%

Ana makine paketleri bırakmıyorsa, bu derhal gerçekleşmelidir. Gerçekte olan şey, ana bilgisayardaki TCP / IP yığınının size RST bit ayarlı bir TCP segmenti geri göndermesi - yani SYN paketinizi sonlandırmasıdır.

Bir RST paketi aldığınız gerçeği, aslında diğer ucunda bir ana bilgisayar olduğu ve bir bonus olarak - bu kadar fark edilmeden gerçekleştirdiğiniz anlamına gelir (TCP / IP'nin bu bağlantı hakkında konuşacak üst katman uygulaması yoktu) .

Ancak telnet yerine, muhtemelen scapy gibi bir şey kullanır, RST bayrağını arayan bir şey yazarım ve size bildiririm.

Bir süre askıda olacak ve zaman aşımı - - Aynı şey deneyin IP üzerinde hiçbir konak varsa Sadece bu tamamlamak için olurdu alıcı konak bir damla filtreli bir güvenlik duvarı olsaydı olur.

Güvenlik duvarları söz konusuysa, diğerlerinin önerdiği gibi, nmapbaşka araçlar gibi araçlar kullanın .


3

Hedef makinenizle aynı LAN üzerinde başka bir makineye erişiminiz varsa arping'i kullanabilirsiniz .

Arping, makineyi hedefleyen ARP paketleri göndererek çalışır, bu mükemmel çalışır, çünkü ağı kullanmak istiyorsanız arp paketlerini engelleyemezsiniz (iyi, her yerde statik arp tabloları ayarlayabilirsiniz: D) Ama olumsuz, arping hedefinizle aynı LAN.


1

Makinede mevcut herhangi bir servis var mı? Bir makinenin var olup olmadığını görmenin bir yolu, ona bağlanmak için telnet istemcisini kullanmaktır, ancak vurmanız gereken bağlantı noktasını değiştirmek.

Makinenin varsayılan olarak 1433 numaralı bağlantı noktasında çalışan MS SQL çalıştırdığını varsayalım. Aşağıdaki komutu kullanıyorsunuz

telnet machine-name-address 1433

Telnet makinenin çalışır durumda olduğunu bağlarsa, düzgün çalıştığı anlamına gelmez, ancak yine de bu bağlantı noktasını dinlemek



1

nmap -T5 -sS -P0 ho.st.ip.addr Bu makinede neyin mevcut port olduğunu göreceksiniz .. Pencerelerde çalışıyorsanız veya bir linux makinesine erişiminiz yoksa cygwin'i yüklemenizi öneririz.


1

yazılım mükemmel ağ tarayıcı.

google.

Onu çok kullanırım. Harika çalışıyor


1

"Nmap" için Google. Bunu her zaman kullanıyorum. Güvenlik duvarlarınızın da beklendiği gibi çalıştığını doğrulamak için harika. Ayrıca, bir Matrix filminde referans verildiğine inanıyorum, bu da iki kat harika.


1

Makinenin, uzaktaki bir monitöre dakikada bir kez bir snmp tuzağı (paket) göndermesini ve her dakika tuzağı aldığınızı izlemek için bir kural ayarlayabilirsiniz.


1
Bu gerçekten iyi bir cevap ve çok doğru bir cevaptır. SNMP yeterince düşük seviyededir ve Windows sistemlerinde yapılandırılabilir.
ICMP'ye

1

Bu sorunun basit çözümü netcat yardımcı programını kullanmak olacaktır. Bu senaryo için sadece ön koşul, o uzak makinede açık olan en az bir portun farkında olması gerektiğidir.

nc -nv ip_adresi port_numarası

Yukarıdaki komut, adı geçen bağlantı noktasının açık olup olmadığını ve dolayısıyla makinenin kullanılabilirliğini belirleyen bir sonuç verecektir.


0

Basit bir web sunucusu kurabilir ve "ÇEVRİMİÇİ" yazan bir web sayfası kullanabilirsiniz. Sadece istediğiniz yere bağlanmak zorundasınız Tabii ki bir statin ip veya hizmetlere ihtiyacınız var


0

Çok basit bir yaklaşım, sunucuda açık olması gereken bir TCP bağlantı noktasına telnet yapmaktır, yani:

telnet theServerHostname 80

Hizmet kapalı olsa da ev sahibi ile aynı sonucu elde ediyorum.

Nmap ile yapılabilecek her türlü tarama vardır, nmap sitesinde bunları öğrenin ve bir ana bilgisayarın hazır olup olmadığını nasıl test edeceğiniz konusunda uzman olmalısınız. Bunlar arasında TCP (telnet gibi) ve UDP gibi icmp (ping) dışındaki protokollerin kullanılması sayılabilir.

Ayrıca, udp'ye bağlanma yeteneğini içeren, bu anlamda telnet'e benzer bir şey istiyorsanız, netcat'i düşünün .


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.