https://taesun1114.tistory.com/entry/Python-%ED%8C%A8%ED%82%B7-%EC%BA%A1%EC%B3%90with-pypcap
python 내 패킷 캡쳐를 위한 라이브러리로 pypcap을 통해 손쉽게 캡쳐 및 가공이 가능합니다.
다만 pypcap에 대한 자료가 많지않아서 원하는 함수나 기능을 사용하기엔 제약이 있습니다 :/
pypcap installation
pip install pypcap
※ libpcap-dev 의존성을 가지고 있으므로 pypcap 설치전에 libpcap-dev가 설치되어 있어야 함
apt-get install libpcap-dev
pypcap 설치 후 python 실행 > import pcap 을 통해 에러가 발생하지 않는다면 정상적으로 설치가 된 것입니다.
Example Code
import pcap
import re
import dpkt
import socket
sniffer = pcap.pcap(name=None,promisc=True,immediate=True,timeout_ms=50) # name=eth, None 일경우 모든 default / promisc는 모든 eth에서 패킷 수집
sniffer.setfilter('tcp and port 80') # set packet filter
for t, p in sniffer:
eth = dpkt.ethernet.Ethernet(p)
ip = eth.data
tcp = ip.data
try:
if len(tcp.data) > 0:
req = dpkt.http.Request(tcp.data) #Request패킷만 추출
print("----------------------------------------------------------------")
print(req) # 패킷 출력
print("----------------------------------------------------------------")
except:
pass
'개발' 카테고리의 다른 글
Python requests 버프 캡처 (0) | 2022.01.17 |
---|---|
python 캡처2 (펌) (0) | 2022.01.17 |
Python logging 사용하기(펌) (0) | 2022.01.02 |
mysql 외부 접속 및 허용 제거 (경로 참고) (0) | 2021.11.22 |
php mysql 명령어 (0) | 2021.11.22 |