2012-03-12 3 views
1

입니다. 앱 엔진에 내 앱을 호스팅했습니다. 나에게 사용자의 IP 주소를 제공하는 로그 파일을 다운로드 중입니다.고유 한 IP 주소를 계산하면 실제 사용자 수는

파이썬 스크립트를 실행하여 다른 IP 주소를 찾습니다.

그러나 내가 얻은 숫자는 내가 예상 한 것보다 높습니다 (지난 24 시간 동안 약 60,000 ---- 나는 30,000에 가까운 것으로 예상 됨).

개별 IP 주소를 세지 만 고유 한 사용자의 정확한 수를 알 수 있는지 여부를 알고 싶습니다.

답변

1

동일한 IP 주소 뒤에 여러 명의 사용자가있을 수 있습니다. 예를 들어, 홈 라우터는 종종 NAT를 사용하여 ISP가 제공하는 동일한 단일 IP 주소를 가진 여러 컴퓨터를 사용할 수 있습니다.

또한 많은 사용자가있는 대학 및 기타 조직에서는 종종 NAT 및 프록시를 사용하므로 수백 명의 사용자가 같은 IP 주소를 사용하게됩니다. 프록시는 원래 IP 주소를 나타내는 헤더 정보를 삽입 할 수 있지만 모든 정보가이 정보를 나타내는 것은 아닙니다.

+0

그래, 나는 그렇게 생각했다. 그렇다면 고유 사용자의 근사치를 어떻게 얻을 수 있을까? 나는 어떻게 든 사용자의 Mac 주소를 얻을 수 있습니까 ??? 아니면 그렇게 할 다른 방법 – Dilletante

+0

고유 IP 주소는 로그 파일을 통해 얻는 것만큼 정확합니다. 사용자가 사이트에 로그인하도록 유도하면 사용자를 쉽게 계산할 수 있습니다. 사용자가 처음 사이트에 방문 할 때마다 새 세션을 시작하고 이러한 세션을 데이터베이스에 집계 할 수 있습니다. 로그인하지 않은 사용자와도 작업 할 수 있습니다. – Unksi

+0

사실 저는 실제로 데스크톱 응용 프로그램을 실행하고 있습니다. ... 그래서 사용자에게 로그인을 요구하는 것은 불가능합니다 ...... 실제로 사용자가 내 애플리케이션을 열 때마다 앱 엔진에 핑을합니다 ..... – Dilletante

1

예상보다 많은 IP 주소가 표시되는 경우 기대치가 틀리거나 각 사용자가 평균 2 개의 다른 IP 주소를 사용하고 있습니다. 예를 들어 소프트웨어가 랩톱이나 모바일 장치에 설치되어 있고 서로 다른 위치에있는 서로 다른 무선 네트워크를 통해 연결하는 경우에 이러한 상황이 발생할 수 있습니다.

+0

정확 하군요 ... 단일 사용자가 다른 네트워크로 인해 하나 이상의 IP 주소를 가질 수 있다고 생각합니다 ..... 우리는 이미 클라이언트 컴퓨터에서 앱 엔진으로 핑하는 코드가 있습니다 ........ 그러므로 알고 싶었습니다. 어떻게 든 기기의 MAC 주소를 감지 할 수 있다면 ...... 지금까지 내 연구 결과에 따르면 Mac ID는 로컬 네트워크에서만 찾을 수 있습니다. – Dilletante

+2

@Mayank : 올바른데, HTTP 연결의 서버 측에서 MAC 주소를 감지 할 수 없습니다. 어떤 NAT 뒤에 숨겨져있어 NAT가없는 경우에도 서버의 TCP 소켓 노출보다 낮은 프로토콜 계층에는 숨겨져 있습니다. 가능한 한 예외가 있습니다. IPv6 주소에는 MAC (또는 MAC과 비슷한 것, 확실하지 않은 것)이 최하위 자리에 포함됩니다. 그러나 새로운 네트워크에 연결할 때마다 컴퓨터가 개인 정보 보호를 위해 해당 숫자를 계속 변경하지 않을 것이라는 보장은 없습니다. 클라이언트 소프트웨어는 MAC을 검색하여 고유 한 설치 ID에 포함시킬 수 있습니다. –

+0

흠 ... ..... 스티브에게 고마워. 다른 방법으로 들여다 볼거야. – Dilletante

관련 문제