Linux에는 libpcap 라이브러리가 있습니다. libpcap 라이브러리는 Unix 파생 운영 체제의 데이터 링크 계층에서 직접 패킷을 캡처하기 위한 API를 제공하는 네트워크 패킷 캡처 기능 라이브러리입니다. 프로그램을 사용하여 거의 모든 종류의 Unix에서 실행할 수 있습니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
개요
libpcap은 Linux에서 유명한 tcpdump 기능을 기반으로 하는 네트워크 패킷 캡처 기능 라이브러리입니다.
Libpcap은 Unix 기반 운영 체제의 데이터 링크 계층에서 직접 패킷을 캡처하기 위한 API를 제공하는 오픈 소스 C 라이브러리입니다. 이는 tcpdump 및 snort와 같은 널리 사용되는 패킷 캡처 응용 프로그램에서 사용되므로 거의 모든 Unix 버전에서 실행할 수 있습니다.
libpcap의 주요 기능
1) 네트워크 트래픽 통계와 같은 다양한 데이터 패킷을 캡처합니다.
2) 다음과 같은 네트워크 데이터 패킷을 필터링합니다. 방화벽과 유사하게 일부 로컬 데이터를 필터링합니다.
3) 네트워크 프로토콜 분석 및 데이터 수집과 같은 네트워크 데이터 패킷을 분석합니다.
4) 다음과 같은 네트워크 패킷을 저장합니다. 향후 분석을 위해 캡처된 데이터를 저장합니다.
libpcap 설치
libpcap 함수 라이브러리를 사용하여 애플리케이션을 개발하는 기본 단계:
1. 필터링 규칙 설정
3. 네트워크를 닫습니다. device
libpcap 패킷 캡처 프레임워크pcap_lookupdev()
: 이 함수는 네트워크 장치를 찾는 데 사용되며 pcap_open_live()에서 호출할 수 있는 네트워크 장치 이름에 대한 포인터를 반환합니다. 기능.
pcap_lookupnet
(): 이 함수는 지정된 네트워크 장치의 네트워크 번호와 마스크를 가져옵니다. pcap_lookupdev()
:函数用于查找网络设备,返回可被 pcap_open_live() 函数调用的网络设备名指针。
pcap_lookupnet
():函数获得指定网络设备的网络号和掩码。
pcap_open_live
(): 函数用于打开网络设备,并且返回用于捕获网络数据包的数据包捕获描述字。对于此网络设备的操作都要基于此网络设备描述字。
pcap_compile
(): 函数用于将用户制定的过滤策略编译到过滤程序中。
pcap_setfilter
():函数用于设置过滤器。
pcap_loop
():函数 pcap_dispatch() 函数用于捕获数据包,捕获后还可以进行处理,此外 pcap_next() 和 pcap_next_ex() 两个函数也可以用来捕获数据包。
pcap_close
pcap_open_live
(): 이 함수는 네트워크 장치를 열고 네트워크 패킷을 캡처하는 데 사용되는 패킷 캡처 설명자를 반환하는 데 사용됩니다. 이 네트워크 장치의 모든 작업은 이 네트워크 장치 설명자를 기반으로 합니다.
pcap_compile
(): 이 함수는 사용자 정의 필터링 전략을 필터링 프로그램으로 컴파일하는 데 사용됩니다. 🎜🎜🎜🎜pcap_setfilter
(): 필터를 설정하는 데 사용되는 함수입니다. 🎜🎜🎜🎜pcap_loop
(): pcap_dispatch() 함수는 데이터 패킷을 캡처하는 데 사용됩니다. 또한 pcap_next() 및 pcap_next_ex() 두 함수를 사용하여 처리할 수도 있습니다. 데이터를 캡처하는 데에도 사용됩니다. 🎜🎜🎜🎜pcap_close
(): 네트워크 장치를 닫고 리소스를 해제하는 데 사용되는 함수입니다. 🎜🎜🎜🎜추천 학습: 🎜Linux 비디오 튜토리얼🎜🎜위 내용은 리눅스에 libpcap 라이브러리가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!