IP 변조 실패 시도
2517 단어 IP
우선 IP를 획득한 코드를 살펴보겠습니다.
string userIP = string.Empty;
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] == null)
{
userIP = HttpContext.Current.Request.UserHostAddress;
}
else
{
userIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
}
Response.Write(userIP);
우선 ServerVariables 컬렉션은 무엇일까요?W3C School은 서버 변수 값을 다시 가져오는 데 사용되는 컬렉션으로 설명합니다.이상하게도 방문객 IP와 같은 정보는 왜 서버 변수 집합에 저장되어 있습니까?
HttpWebRequest 클래스는 요청 헤더 정보를 사용자 정의할 수 있습니다. 이 정보를 수정하여 성공할 수 있는지 확인하려고 합니다.
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost:4866/WebForm.aspx");
request.Headers.Add("X_FORWARDED_FOR", "0.0.0.0");
request.Headers.Add("HTTP_VIA", "0000");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader stream = new StreamReader(response.GetResponseStream(),Encoding.Default);
string IP = stream.ReadToEnd(); stream.Close(); response.Close();
request = null;
불행하게도 이런 방식은 실패했다. 얻은 IP는 여전히 네이티브 IP이다.나중에 인터넷에서 다른 방식으로 HTTP 를 설정하는 걸 봤어요.VIA
request.Headers.Set(HttpRequestHeader.Via,"00000");
아마도 Add는 사용자 정의 헤더 정보용일 것입니다. Set은 시스템 헤더 정보용일 것입니다.이렇게 변경하면 출력 IP가 0.0.0.0이 됩니다.그렇다면 인터넷상에서 IP를 제한하는 시스템은 모두 간단하게 해독하는 것이 아니겠는가?
자신을 증명할 수 있도록 URL을 ip138(http://iframe.ip138.com/ic.asp) 테스트에서 실제 IP를 반환했습니다.
초보적으로 추정, HTTPVIA라는 헤더 정보는 한 번의 네트워크를 통해 전송된 후에 한 번 바뀔 것이다. 왜냐하면 나는 본기 테스트를 하기 때문에 0.0.0.0의 상황이 나타날 것이다.
그래서 위에서 방문객 IP의 코드가 정확해야 한다고 판단했는데 시스템의 10.0.0.1은 어떻게 나타났을까요?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA에서 IP와 정수를 상호 변환하는 방법본고는 JAVA에서 IP와 정수가 서로 전환되는 방법을 실례로 다루고 있다.여러분에게 참고할 수 있도록 나누어 드리겠습니다.구체적인 분석은 다음과 같다. 1. 기본 지식 포인트 IP – > 정수: IP 주소를 바이트...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.