2010-05-25 3 views
3

방금 ​​문제가 발생하여 경로가 Windows 공유를 가리키는 지 확인해야했습니다. 이 문제의 일부는 호스트 A가 호스트 B와 동일한 지 확인하는 것입니다. 여기서 호스트 A와 호스트 B는 {IPv4- 주소, IPv6- 주소, 호스트 이름, FQDN} 중 하나 일 수 있습니다. 필자가 정확하게 할 필요는 없기 때문에 필자의 경우 IP 주소를 분석하고 비교하는 것으로 충분하다.두 호스트가 같은지 확인하는 방법

그러나 이론적으로 호스트가 같은지 확인하는 방법이 있습니까?

+0

두 호스트가 동일하다는 것을 알았더라도 그 의미는 무엇입니까? 두 호스트는 나중에 DNS 업데이트,로드 균형 조정 등과 같이 다른 순간이 될 수 있습니다. – Dolph

+0

글쎄, 좋은 지적이지만, 부하 분산 및 DNS 업데이트가없는 응용 프로그램은 거의 없습니다. 어쨌든이 질문은 합리적이라고 주장하지 않고 이론적으로 멘토입니다. –

+0

관계없이 대답을 보는 데 관심이 있습니다. – Dolph

답변

2

아니요, 두 개의 식별자 (이름 또는 주소)가 동일한 호스트로 이동하는지 확인하는 일반적인 방법은 없습니다. 한 예 : 192.0.2.12001:db8::bad:dcaf. 그들은 같은가요? (답변 : 알 수 없음)

인터넷에서 호스트 신원에 대한 일반적인 개념은 없습니다. 일부 프로토콜은 이러한 개념을 가지고 있는데, 예를 들어 SSH (호스트에 연결하여 지문이 일치하는지 확인) 또는 HIP (키 테스트)과 같은 개념이지만 이러한 특정 시스템에 대해이 프로토콜을 활성화해야합니다.

일부 발견 적 방법이 도움이 될 수 있지만 (예 : fingerprinting 기계) 100 %에서 멀리 떨어져 있습니다.

0

두 주소를 getaddrinfo() 함수에 전달하고 일치하는 결과 목록을 비교하십시오.

gethostbyname()과 달리이 함수는 행복하게 IPv6 리터럴을 구문 분석하고 호스트 이름과 관련된 모든 관련 A 또는 AAAA 레코드를 반환합니다.

+1

이 방법을 사용하면 거짓 음조가 나타납니다. 컴퓨터 A가 192.168.1.1과 192.168.2.1의 두 가지 IP 주소를 가지고 있다고 가정 해 봅시다. 주소가 일치하지 않지만 호스트는 동일합니다. BTW : MAC 주소에 동일한 문제가 있습니다. –

+1

물론 가능합니다. 이런 종류의 논리를 무너 뜨릴 방법은 없습니다. 그것은 두 호스트가 동일하다는 것을 당신에게 말할 수 있습니다 - 그것은 그들이 없다는 것을 증명할 수 없습니다. – Alnitak