핑을 사용하지 않고 머신이 온라인 상태인지 어떻게 알 수 있습니까?


12

컴퓨터가 허용하지 않도록 구성되어 있어도 컴퓨터에서 핑하거나 포트 스캔을 실행할 수있는 응용 프로그램을 사용했습니다.

현재 WAN에서 원격 시스템을 핑하려고하지만 핑을 허용하지 않도록 시스템을 구성했습니다. 사용할 수있는 핑과 비슷한 것이 있습니까?

다시 말하지만, 이것은 우리 완의 일부인 다른 도시에 위치한 기계입니다.

답변:


4

XP / 2003 +를 사용하는 경우 (Vista / 2008 / 7 포함) Win32_PingStatus를 사용할 수 있습니다 . 스크립트 코드를 실행하는 컴퓨터는 XP / 2003 + 여야하는 유일한 시스템이며 Ping.exe를 사용하는 것과 똑같이 작동하며 ping.exe를 사용하지 않는 것이므로 보안 설정의 허점으로 작용해야합니다. 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

Win32_PingStatus 사용 방법에 대한 자세한 내용은 Scripting Guy 기사를 참조하십시오.

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


2
로컬 호스트의 ping.exe가 비활성화되어 있지 않고 원격 호스트가 ICMP 에코 요청 패킷에 응답하지 않도록 구성되어 있습니다. 따라서 이것은 ping.exe 실행과 다른 작업을 수행하지 않습니다.
David Pashley 2016 년

15

머신에서 열린 tcp 포트로 텔넷 할 수 있습니다. 예를 들어, 머신이 웹 서버이고 포트 80이 열려있는 경우 다음을 수행하십시오.

telnet ip.ad.dre.ss 80

이것은 암호화 된 포트에서도 작동합니다 (데이터를 이해할 수는 없지만)

시도해야 할 다른 포트는 다음과 같습니다.

  • https 서버의 경우 443
  • ssh의 경우 22

( 리눅스 머신의 / etc / services 에 포트 / 서비스 목록이 있습니다)


7

Ping은 ICMP이며 ICMP를 차단하면 Ping 할 수 없습니다.

TCP / UDP 연결을 수락하는 경우 여전히 TCP 또는 UDP 포트를 테스트 할 수 있습니다.

핑, nc, 텔넷 및 기타 도구가없는 컨테이너에서 테스트를 실행하는 경우이 트릭을 사용할 수 있습니다.

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

이것은 장치를 통해 tcp / udp를 통해 연결을 시도하고 (아시다시피) 포트가 열려 있으면 "open"또는 닫혀 있으면 "close"됩니다.

이 경우 "닫기"를 에코하기 전에 잠시 동안 중단됩니다.


2
멋진 나는 docker pod에서 이것을 사용해야했다 ;-)
Amorphous

4

원격 시스템에서 SNMP 에이전트를 실행하고 관리자를 사용하여 표준 MIB에서 값 중 하나를 읽습니다.


3

방화벽과 라우터가없는 경우, 즉 확인하려는 호스트와 동일한 세그먼트에있는 경우 위의 대부분의 솔루션은 약간 철저한 imho입니다.

어떤 포트에 연결하든 문제가되지 않으며 실제로 서비스가 실행되지 않는 포트에 연결하면 감지되지 않고 작업을 수행 할 수 있습니다.

어떻게?

원하는 도구를 사용할 수 있지만 텔넷 만 사용할 수 있습니다.

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

이것은 호스트가 패킷을 삭제하지 않는 한 즉시 발생합니다. 실제로 일어나고있는 일은 호스트의 TCP / IP 스택이 RST 비트가 설정된 TCP 세그먼트를 다시 보내는 것입니다. 즉, SYN 패킷이 종료됩니다.

RST 패킷을 받았다는 사실은 다른 쪽 끝에 실제로 호스트가 있다는 것을 의미하며 보너스로 감지되지 않았습니다 (TCP / IP에는이 연결에 대해 이야기 할 상위 계층 응용 프로그램이 없었습니다) .

그러나 텔넷 대신에 scapy와 같은 것을 사용하고 RST 플래그를 찾는 것을 작성하고 알려줍니다.

그것은 잠시 동안 중단됩니다, 시간 초과 - - 같은 일을 당신이 시도하는 IP에 어떤 호스트가없는 경우 그냥이를 완료 수신 호스트가 드롭 필터와 방화벽이 있다면 일이.

방화벽이 관련된 경우 다른 사람들이 제안한대로 다른 도구를 사용하십시오 nmap.


3

대상 시스템과 동일한 LAN에있는 다른 시스템에 액세스 할 수 있으면 arping 을 사용할 수 있습니다 .

Arping은 컴퓨터를 대상으로 ARP 패킷을 전송하여 작동합니다. 네트워크를 사용하려는 경우 arp 패킷을 차단 할 수 없기 때문에 완벽하게 작동합니다 (물론 정적 arp 테이블을 모든 곳에서 설정할 수 있습니다 : D).하지만 단점은 Arping 대상과 동일한 LAN.


1

기계에서 사용할 수있는 서비스가 있습니까? 기계가 있는지 확인하는 한 가지 방법은 Telnet 클라이언트를 사용하여 연결하지만 적중해야하는 포트를 변경하는 것입니다.

머신이 기본적으로 포트 1433에서 실행되는 MS SQL을 실행한다고 가정 해 봅시다. 다음 명령을 사용합니다

telnet machine-name-address 1433

Telnet이 연결되어있는 경우 컴퓨터가 작동 중이고 작동 중임을 의미하지는 않지만 해당 포트를 수신함을 의미합니다.



1

nmap -T5 -sS -P0 ho.st.ip.addr 해당 머신에서 사용 가능한 포트를 확인할 수 있습니다. Windows에서 실행 중이거나 Linux 머신에 액세스 할 수없는 경우 cygwin 설치를 권장합니다.


1

완벽한 네트워크 스캐너.

구글.

나는 그것을 많이 사용합니다. 잘 작동합니다


1

"nmap"을위한 Google. 나는 이것을 항상 사용합니다. 방화벽이 예상대로 작동하는지 확인하는 데 좋습니다. 또한 나는 그것이 두 배의 멋진 영화 영화에서 참조되었다고 생각합니다.


1

기기가 1 분에 한 번 원격 트랩에 스 trap 프 트랩 (패킷)을 전송하고 매분마다 트랩을 수신하고 있는지 모니터하는 규칙을 설정할 수 있습니다.


1
이것은 실제로 좋은 답변이며 매우 정확한 답변입니다. SNMP는 수준이 낮으며 Windows 시스템에서 구성 할 수 있습니다. ICMP의 유일한 대안이며 실제로 WAN과 LAN을 통해 라우터와 시스템을 모니터링하기 위해 네트워크 엔지니어가 일상적으로 사용하는 것
Abhishek Dujari

1

이 문제에 대한 간단한 해결책은 netcat 유틸리티를 사용하는 것입니다. 이 시나리오의 전제 조건은 원격 시스템에서 열려있는 포트를 하나 이상 알고 있어야한다는 것입니다.

nc -nv ip_address port_number

위의 명령은 결과를 제공하여 해당 포트가 열려 있는지 여부를 결정하므로 기계의 가용성


0

간단한 웹 서버를 설치하고 "온라인"이라는 웹 페이지를 사용할 수 있습니다. 당신은 당신이 원하는 어디든지 그것에 연결해야합니다 물론 스타틴 IP 또는 서비스가 필요합니다


0

매우 간단한 접근 방식은 서버에서 열려 있어야하는 TCP 포트에 텔넷을 연결하는 것입니다.

telnet theServerHostname 80

서비스가 다운 된 경우 호스트가 다운 된 것과 동일한 결과를 얻습니다.

nmap으로 수행 할 수있는 모든 종류의 스캔이 있으며 nmap 사이트 에서 스캔에 대해 배우고 호스트가 작동하는지 테스트하는 방법에 대한 전문가가되어야합니다. 여기에는 TCP (telnet처럼) 및 UDP와 같이 icmp (ping) 이외의 프로토콜 사용이 포함됩니다.

또한 udp에 연결하는 기능이 포함 된 것을 원한다면, 이런 의미에서 텔넷과 유사하면 netcat을 고려하십시오 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.