Scapy 를 처음 탐구하다
< Br /> < P > Scapy 에서는 IP 패킷 구성과 같은 매우 간단한 방법으로 패킷을 구성할 수 있습니다. 그리고 다음과 같은 몇 가지 매개 변수가 전달됩니다. < P > 사용/서로 다른 패키지를 결합할 수 있습니다. < P > 패킷 하나를 제외하고 패킷 하나씩 구성합니다. Scapy 는 여러 패킷을 동시에 구성할 수 있도록 지원합니다.
또한 fuzz 함수를 사용하면 다른 매개변수가 정확한지 확인하면서 임의 템플릿을 신속하게 구성할 수 있습니다. 예를 들어
이 구성에서는 IP 레이어가 일반적이고 UDP 및 NTP 레이어는 fuzz 입니다. 따라서 UDP 와 체크섬이 정확해야 하며 UDP 의 대상 포트는 123(NTP 프로토콜 요구 사항) 이어야 한다는 점을 제외하고는 모두 무작위적인
< 입니다 Br /> < P > 패킷이 구성되면 보낼 때입니다. Scapy 는 세 번째 계층, 즉 네트워크 계층을 기반으로 하는 send 함수와 두 번째 계층, 즉 데이터 링크 계층을 기반으로 하는 sendp 함수를 제공합니다. 즉 sen
! [216-5-13 2-27-49 _ 682712.png ...]
d 함수는 라우팅 및 레이어 2 세부 사항을 고려하지 않고 sendp 을 사용합니다
는 Scapy 에서 Sr 함수, sr1 함수를 사용하여 레이어 3 패킷 (IP, ARP 등) 을 송수신하고, SRP 함수는 레이어 2 패킷 (이더넷, 82.3 등)
을 송수신하는 데 사용됩니다. Bing.com 에 ICMP 패키지를 보냈습니다.
Sr 함수는 Scapy 의 핵심입니다. 이 함수는 두 개의 목록을 반환합니다. 첫 번째 목록은 응답을 받은 패킷과 해당 응답입니다. 두 번째 목록은 응답을 받지 못한 패킷입니다. 이 두 반환 값을 읽기 쉽도록 다른 함수를 호출해야 합니다. 예를 들어, < P > 원격 호스트가 응답 속도에 제한이 있는 경우 inter 매개 변수를 설정하여 인접한 두 패킷을 직접 전송하는 시간 간격을 설정할 수 있습니다. 또한 timeout 매개 변수를 설정하여 응답을 기다리는 시간 초과 시간을 설정하고 retry 매개 변수를 설정하여 재시도 횟수를 설정할 수 있습니다. Scapy 에서 retry = 3 이면 Scapy 는 응답하지 않는 패키지를 세 번 보내려고 시도하고, retry = -3 이면 Scapy 는 더 이상 응답이 없을 때까지 응답하지 않는 패키지를 세 번 보냅니다 (즉, if retry is) Scapy will resend unanswered packets until no more answer is given for the same set of unanswered packets 3 times in a row.)