Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

Tip & Tech

개발 중 해결한 혹은 미리 알고 있으면 좋은 팁성 글을 공유하는 공간입니다

[C#] 인터넷 아이피 대역폭 내 아이피 만들어 내기

작성자 : 박종명
최초 작성일 : 2008-06-30 (월요일)
최종 수정일 : 2008-06-30 (월요일)
조회 수 : 3319

mkex.pe.kr 사이트에 '똥떵어리'님이 올리신 글입니다.

안녕하세요 똥떵어리입니다. 
허접하지만 팀이 될까 해서 하나 적어 보겠습니다.
 
192.168.0.1 ~ 192.168.0.50 사이에 있는 아이피 대역폭을 알아 내는 코드를 만들어 보겠습니다.
 
//일단은 시작과 끝 아이피를 만들어 냅니다.
  System.Net.IPAddress StartAddress  = System.Net.IPAddress.Parse("192.168.0.1");
  System.Net.IPAddress EndAddress  = System.Net.IPAddress.Parse("192.168.0.50");
 
//해당아이피를 Log값으로 변경합니다.
// 쉬프트 연산을 하여 Log값을 만들어 냅니다.
//GetAddressBytes 메소드는 아이피 주소를 배열 형태로 반환해주는 메소드 입니다.
long sAddress = ( (((long)StartAddress.GetAddressBytes()[0] ) << 24) | (((int)StartAddress.GetAddressBytes()[1]) << 16) | (((int)StartAddress.GetAddressBytes()[2]) << 8) | StartAddress.GetAddressBytes()[3]);
long eAddress = ( (((long)EndAddress.GetAddressBytes()[0] ) << 24) | (((int)EndAddress.GetAddressBytes()[1]) << 16) | (((int)EndAddress.GetAddressBytes()[2]) << 8) | EndAddress.GetAddressBytes()[3]);
 
//시작 아이피 부터 끝 아이피 까지 루프를 작동합니다.
For(long i=sAddress;i<EndAddress+1;i++)
{
     string sAddress = LongToAddress(i)
}
 
// Long형태를 IP어드레스 스트링으로 반환하는코드
  private string LongToAddress(long lngIp)
  {
   try
   {
    System.Net.IPAddress TempAddress = new System.Net.IPAddress(lngIp);
    byte[] arTemp = TempAddress.GetAddressBytes();
    //배열을 뒤집는다.
    Array.Reverse(arTemp);
    //UInt32로 컨버팅한다.
    lngIp = BitConverter.ToUInt32(arTemp,0);
    return new System.Net.IPAddress(lngIp).ToString();
   }
   catch
   {
    return "";
   }
  }
 
 
작업하시다 필요하실수도 있을지 없을지 모르겠네요.. 하이턴 참고하시고 도움 되셨으면 추천 한방~~

이름
비밀번호
홈페이지
YJ <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요