jNetPcap 으로 MAC 주소 추출

 

package main;

import static org.jnetpcap.Pcap.NOT_OK;

import java.util.ArrayList;

import org.jnetpcap.Pcap;
import org.jnetpcap.PcapIf;

public class Main {

	public static void main(String[] args) {

		ArrayList<PcapIf> allDevs = new ArrayList<PcapIf>();
		StringBuilder errbuf = new StringBuilder();
		
		int r = Pcap.findAllDevs(allDevs, errbuf);
		if (r == NOT_OK || allDevs.isEmpty()) {
			System.out.println("네트워크 장치를 찾을 수 없습니다. " + errbuf.toString());
			return;
		}
		
		System.out.println("[ 네트워크 장비 탐색 성공 ]");
		
		try {
		for (final PcapIf i : allDevs) {
			final byte[] mac = i.getHardwareAddress();
			if(mac==null) {
				continue;
			}
			System.out.printf("장치 주소 : %s\n 맥 주소 : %s\n", i.getName(), asString(mac));
		}
	} catch (Exception e) {
		e.printStackTrace();
		}
	}
	
	public static String asString(final byte[] mac) {
		final StringBuilder buf = new StringBuilder();
		for (byte b : mac) {
			if (buf.length() != 0) {
				buf.append(":");
			}
			if (b >= 0 && b <16) {
				buf.append('0');
			}
			buf.append(Integer.toHexString((b < 0) ? b + 256 : b).toUpperCase());
		}
		return buf.toString();
	}

}

'Hacking > ARP 스푸핑' 카테고리의 다른 글

공부(9)  (0) 2021.09.10
공부(8)  (0) 2021.09.10
공부(6)  (0) 2021.09.09
공부(5)  (0) 2021.09.09
공부(4)  (0) 2021.09.08

+ Recent posts