목록libpcap (2)
안 쓰던 블로그
이전 글 헤더들 정보: foxtrotin.tistory.com/324 ARP 패킷 만들고 전송하기: foxtrotin.tistory.com/323 pcap 함수 pcap_findalldevs(&alldevs, errbuf) 네트워크 이더넷들을 찾는 함수 alldevs에 찾은 이더넷 정보 저장하며, 에러 시 errbuf에 에러를 저장한다 pcap_freealldevs(alldevs) 해당 네트워크를 제외한 다른 네트워크를 해제하기 위한 함수 pcap_open_live(name, 65536, 1, 1000, errbuf) 실제 네트워크 이더넷의 패킷을 캡처 하는 함수 name: 장치이름 65536: 패킷의 길이 1: 모든 패킷을 잡을 수 있는 promisc모드로 설정 1000: 패킷을 읽는 시간 errbuf..
ARP 헤더 구조 ARP 패킷 만드는 과정 1. 헤더 구조에 맞춰서 구조체를 만들어 주고, 각 값을 채운다 2. 소켓을 열고 보낸다 3. 와이어 샤크에서 ARP 패킷으로 잘 잡히는지 확인한다 코드 #include #include #include #include #include #include #include #include //htons: 엔디안 변경 struct eth_hdr{ //이더넷 헤더 unsigned char h_dest[6]; //이더넷 목적지 주소 6바이트 unsigned char h_source[6]; //이더넷 출발지 주소 6바이트 unsigned short h_type; //다음 패킷 타입 정보 2바이트 } __attribute__((packed)); struct arp_hdr{ //..