[네트워크 보안] Scapy로 스니핑 하기

비전·2024년 10월 8일

네트워크 보안

목록 보기
14/14

공용 네트워크를 스니핑하는 것은 불법입니다. 개인 네트워크를 사용하는 경우 자신의 통신을 모니터링하는 것은 일반적으로 합법적이지만, 다른 사용자의 데이터를 무단으로 가로채는 행위는 법적으로 문제가 될 수 있습니다. 따라서 항상 법적 및 윤리적 기준을 준수해야 합니다.

0. Scapy로 스니핑하기

Scapy로 스니핑하는 방법은 매우 간단합니다. sniff()함수를 사용하여 네트워크 패킷을 캡처할 수 있습니다. 이 함수는 다양한 옵션을 제공하여 스니핑할 패킷 조건을 설정할 수 있습니다.

Scapy는 지난 게시물에 소개했듯이 Scapy를 실행후 >>> 형태인 인터랙티브 쉘을 사용할 수 있고
파이썬 스크립트 파일을 통한 실행을 할 수 있습니다. 이번 시간에는 스크립트 파일을 통한 실행을 진행합니다.

1. 스니핑

1.1 기본적인 스니핑

  • 연습 디렉토리 생성
sudo mkdir Scapy_prac
cd Scapy_prac
vi Scapy_sniffing1.py
  • Scapy_sniffing1.py 내용
from scapy.all import sniff

# 기본적으로 10개의 패킷을 캡처
packets = sniff(count=10)

# 캡처한 패킷 출력
packets.show()
  • 실행
python Scapy_sniffing1.py

위 코드는 네트워크 인터페이스에서 10개의 패킷을 스니핑하고 그 결과를 출력합니다.

2. 결과 및 분석

2.1 결과 문법적 분석

0000 Ether / IP / TCP 45.142.107.168:https > 192.168.64.17:48914 A
  1. 패킷 번호 : 0000은 해당 패킷의 순서를 나타냅니다.
  2. Ether : 이 부분은 패킷이 이더넷 프레임으로 캡슐화 되었음을 나타냅니다.
  3. IP : 이 패킷이 인터넷 프로토콜(IP)을 사용하는 데이터를 포함하고 있음을 나타냅니다.
  4. TCP : 이 패킷이 전송 제어 프로토콜(TCP)을 사용하여 전송되고 있음을 나타냅니다.
  5. 출발지 IP 주소 및 포트 : 출발지 주소와 포트 번호를 나타냅니다 443(https) 사용을 하여 HTTPS(HTTP Secure)통신을 위한 것입니다.
  6. 목적지 IP 주소 및 포트 : 192.168.64.17:48914에서 192.168.64.17은 패킷의 목적지 IP 주소이며, 48914는 목적지 포트를 나타냅니다.
  7. 플래그 : A는 "Acknowledgment"를 의미합니다. 즉, 이 패킷은 상대방에게 전송된 데이터에 대한 확인 응답입니다.

2.2 트래픽 흐름

여러 외부 IP 주소(예: 45.142.107.168, 185.220.101.199, 70.39.91.99)와 연결된 패킷들이 192.168.64.17(즉, 로컬 머신)과 통신하고 있습니다.
이는 해당 로컬 머신이 외부 서버와 HTTPS 연결을 통해 데이터를 주고받고 있음을 나타냅니다.

2.3 요약

기존에 Tor 네트워크를 활성화 했기 때문에 독일 베를린 주소와 통신한 내용을 알 수 있습니다.

profile
아는 만큼 보인다

0개의 댓글