728x90

실습은 리눅스 Ubuntu 가상환경에서 진행됩니다. 

 

 

SCAPY 란?


Scapy는 패킷 조작 프로그램으로 다양한 프로토콜의 패킷을 생성/전송/캡처 작업을 수행할수 있으며

hping,nmap의 85% arpspoof, arp-sk, tcpdump, tethereal, p0f등을 대체 할수있습니다.

 

 

Scapy 설치페이지


https://scapy.readthedocs.io/en/latest/

 

Welcome to Scapy’s documentation! — Scapy 2.4.5. documentation

© Copyright 2008-2021 Philippe Biondi and the Scapy community. Revision 7e161f1d.

scapy.readthedocs.io

 

실습을 위한 기본 개념 + Scapy 실습 환경 구축


스캔(Scan): 서버의 작동 여부와 서버가 제공하는 서비스를 확인

 

 

국내에서 스캐닝은 불법입니다. 절대로 공개되어 있는 IP/도메인에 대해 스캐닝하면 안됨

제48조(정보통신망 침해행위 등의금지) 

 

Scapy 실습 환경 구축(리눅스 환경 cmd)

> sudo apt-get update

> sudo apt-get upgrade

> sudo scapy

> sudo apt-get install scapy

> sudo apt-get upgrade scapy

 

#기본명령어

ls() # Layer 리스트 보여줌

ls(TCP)  #TCP header 구조

ls(IP) #IP header 구조

lsc() #scapy 명령어/함수리스트 

conf #환경설정

sniff() #패킷 스니핑

str() #문자열 정보보기

hexdump() #16진수 코드보기

traceroute("naver.com") #hop 추적

 

 

Scapy 실습(패킷 생성과 전송)


CMD에서 scapy 명령어를 통해 scapy실행

 

 

 

frame=Ether()/IP()/TCP()/Raw(load="heelo")

frame.show()

frame=Ether()/IP(ttl=20)/TCP()/Raw(load="hi")

frame.show()

str(frame) #16진수 문자열출력

hexdump(frame) #16진수 덤프

 

#SYN/ACK Packet 
> pkt =IP(dst="192.168.122.101")/TCP(dport=80,flags="SA)

#ICMP Packet
pkt = IP(dst=192.168.122.101")/ICMP(code=1,type=3)

#icmp packet , echo request packet
mypkt = IP(dst=192.168.122.101")/ICMP(code=0,type=8)

mypkt.summary()#패킷 한줄요약
mypkt.show()#패킷정보출력

#캡처한 패킷을 pcap 쓰기
wrpcap("file1.pcap", mypkt)
a = rdpcap("file1.pcap") #읽기
728x90

+ Recent posts