본문 바로가기

언어/Python

[ Python ] scapy로 내 컴퓨터의 패킷 캡쳐하기

로고

안녕하세요.

scapy는 파이썬 패킷을 다루는 라이브러리 중 가장 강력하고 기능이 다양합니다.

이번 시간에는 내 컴퓨터에 오고 가는 패킷을 캡처하는 가장 간단한 코드를 살펴보겠습니다.

scapy.net

 

Scapy

Packet crafting for Python2 and Python3

scapy.net

 

pip install scapy 

위 명령어로 scapy를 설치해 줍니다.

 

from scapy.all import *
from scapy.arch.windows import IFACES

import time
n = 50
iface = "Intel(R) Ethernet Connection (7) I219-V"
IFACES.show()

def cap():
    for i in range(0, n):
        packet = sniff(iface=iface, count = 6)
        data = (packet[0].payload)

        #packet.show()

        src_ip = packet[0][1].src
        dst_ip = packet[0][1].dst
        nowtime = time.strftime('%c', time.localtime(time.time()))
        print('\033[95m'+'[ '+nowtime+' ] '+'\033[92m'+src_ip+'\033[94m'+" -> "+'\033[92m'+dst_ip+' \033[96m'+ str(data)) #data

cap()

전체코드 입니다.

변수 n은 반복할 횟수를

iface는 캡처할 네트워크 인터페이 스을 나타냅니다.

 

감사합니다.

궁금한 점이 있으시다면 댓글로 남겨주세요!

시간 날 때 확인하겠습니다 :)