사용자 정의 IP 주소를 사용하여 웹 페이지를 탐색하는 방법 C#/.net

사용자 정의 IP 주소를 사용하여 웹 페이지를 탐색하는 방법 C#/.net

사용자 정의(사용자 제공) IP 주소를 사용하여 웹 페이지를 검색하려고 하는데 작동하지 않습니다. webBrowser1은 웹 페이지를 성공적으로 로드하지만 사용자 정의 IP 주소를 사용하지 않고 실제 IP 주소가 있는 페이지를 로드합니다.

이 작업을 성공적으로 수행하는 방법을 알려주십시오.

이것은 내 코드입니다.

private void Form1_Load(object sender, EventArgs e)
{
    IPAddress addr1 = IPAddress.Parse("192.168.1.100");
    webBrowser1.ScriptErrorsSuppressed = true;
    webBrowser1.Navigate("www.whatismyip.com");
}

답변1

일반적인 프로그래밍(특히 C#)의 작동 방식과 인터넷에서 웹 사이트에 액세스하는 데 사용되는 IP 프로토콜의 작동 방식에 대해 심각한 오해를 갖고 있는 것 같습니다.

C#의 오해는 IP 주소를 나타내는 개체를 만들고 컴퓨터가 해당 IP 주소가 무엇을 의미하는지 사용자의 마음을 읽을 것이라고 기대한다는 것입니다. 이와 같은 것이 가능하다면 코드에서 어떻게든 IP 주소를 사용해야 합니다. 다음과 같이 보일 수 있습니다.

webBrowser1.SourceIpAddress = addr1;

(위 코드는 작동하지 않습니다. 단지 가상의 예일 뿐입니다.)

IP에 대한 오해는 IP 주소를 위조해도 모든 것이 계속 작동할 것이라는 오해입니다. 그것은 IP가 작동하는 방식이 아닙니다. 일부 웹페이지에 대한 요청을 보내면 해당 요청에 귀하의 주소가 포함됩니다. 하지만 그럴 만한 이유가 있습니다. 요청을 받는 사람이 응답을 어디로 보낼지 알 수 있기 때문입니다.

이것이 의미하는 바는 당신이~할 수 있었다IP 주소를 위조하더라도 누구로부터도 응답을 받을 수 없으며 모든 응답은 위조된 주소로 전달됩니다. 그렇기 때문에 그런 짓을 하는 것은 쓸모가 없습니다.

관련 정보