c# 외부아이피 가져오기

비쥬얼 스튜디오에 입문한지 얼마되지 않아서 아직까지 모르는게 너무 많습니다. 누가 개인적으로 1:1 코칭을 해주었으면 얼마나 좋을까 생각이 드네요. 정말 간단한 것들도 하나하나씩 찾아보면서 해결을 하려니 시간이 너무 걸리는것 같네요. 이번에 알려드릴건 C#에서 외부아이피 주소를 가져오는 방법입니다. 외부아이피와 내부아이피 차이점을 잘모르시는 분들은 아래 글을 참고해주세요.

 

 

 

2017/10/11 - [블로그/수익노하우] - 애드센스 모바일 상단 확인해보세요

2017/10/10 - [블로그/수익노하우] - 티스토리 스킨 상단 버튼 없애기(by fastboot)

2017/09/20 - [IT정보/환경설정] - 익스플로러 개발자도구 사용법 안내(F12 이용)

2017/09/21 - [블로그/수익노하우] - 티스토리 상단 애드센스광고 2개 배치하기

2017/09/12 - [IT정보/환경설정] - iptime 공유기 설정 및 팁 안내

 

 

C# 외부아이피 가져오기

 

제일 충격을 받은 사실은, C#에서 마땅히 아이피를 확인할 길이 없다는 사실이었습니다. 그래서 여러가지 팁을 활용해서 아이피주소를 가져와서 그걸 가공해서 쓰는 방법이 일반적이었습니다. 만약 인터넷이 안된다면, 외부아이피를 알아낼 수 있는 방법이 따로 안보였습니다. 물론 그렇게 아이피를 사용하려면 내부아이피만으로도 충분하니 의미가 없다 생각이 들긴하네요ㅎㅎ

 

크게 두가지 방법으로 외부아이피를 구할수가 있습니다. 이것외에도 다른 방법이 있다면 좀 알려주시면 감사하겠습니다. 영어도 짧고, C#을 공부하면서까지 개발을 할 필요가 없어서 모르는건 그냥 넘겨버리고 있습니다.

 

 

1. 외부의 아이피를 제공하는 사이트를 이용

 

이 방법은 아이피를 제공하는 서버를 이용하는 방법입니다. 아이피 정보를 파싱을 해야하며, 서버의 상태에 따라서 서비스가 제공이 안되면 문제가 생길 여지가 있습니다.

 

아이피를 제공하는 업체는 여러군데가 있습니다. 그중에서 가장 편하고, 가져오기 쉬운 사이트를 찾아서 아이피정보만 가져오셔야 됩니다. 여기에 관한 자세한 설명은 시디맨님의 글을 참고해주세요.

 

외부아이피 가져오기

 

 

 

 

2. 아이피제공 서버를 구축

 

아이피만 제공하는 호스팅이나, 서버를 직접 구축하는 방법입니다. 무료호스팅 같은걸 이용해서 아이피만 제공할 수 있게 PHP 코드를 만들면 간단하게 해결이 됩니다. 자신이 운영하기 때문에 변화에 즉각 대응이 가능한 장점이 있습니다.

 

제 경우는 2번으로 외부아이피를 구하고 있습니다. 1번 방법은 외부 아이피제공 사이트가 갑자기 문제가 생겼을때와, 업체의 기본 양식등이 변경이 되면 파싱 소스를 다시 구축해야 하기 때문입니다.

 

참고로 C# 내에서 내부 아이피주소를 알아보는 방법은 아래와 같습니다.

 

 

 

 

 

소스를 첨부하였으니 참고하셔서 진행하시기 바랍니다.

 

참고소스 : 로컬아이피가져오기.txt

 

 

구글링 하다가 얻은 소스였는데요. 처음에는 외부아이피를 알려주는 소스인듯해서 이걸 사용했더리 아이피 확인에 문제가 생겼습니다. 192.168.0.XXX 이러한 형식의 아이피만 표기가 되기 때문에 아이피 구분이 안되었거든요.

 

그래서 알아봤더니 외부 사이트를 이용한 방법을 추천하고 있었습니다. 호출 형식은 아래와 같습니다.

 

string getData = cm.curl_get("서버주소"+"/" + "getUserIP.php");

getUserIP.php 라는 파일을 만들고 아이피를 가져오는 소스만 넣어주면 간단하게 처리가 됩니다. 만들기도 무척이나 쉽습니다.

 

 $ip_address = $_SERVER["REMOTE_ADDR"];

 

 echo $ip_address;

 

위 코드로 getUserIP.php 를 만들어주시면 아이피 가져오는 작업이 끝나게 됩니다.

 

간단하게 C# 외부아이피 가져오는 방법을 알아보았습니다. 제가 알려드린 방법외에도 다른 방법들이 있을 수 있으니 잘 찾아보셔서 적용하시기 바라겠습니다. 좋은 방법이 있으면 소개도 부탁드릴께요^^