0
SCAPY를 사용하여 웹 서버에 배포 된 프로그램을 작성하고 SCAPY를 사용하여 TCP RST를 보내 특정 HTTP 클라이언트 액세스를 차단하려고합니다.클라이언트 액세스 문제를 방지하기 위해 Python scapy를 사용하여 클라이언트 액세스 문제 방지
프로그램을 실행 한 후 클라이언트는 서버에 연결하기 위해 텔넷을 사용합니다. 수신 대기 포트는 SCAPY 프로그램 인터럽트 일 수 있지만 브라우저 액세스를 사용하면 인터럽트 할 수 없습니다. 왜 그래야만하지? 다음과 같이
코드는 다음과 같습니다
# coding: utf-8
# web server : 10.28.16.20 ;
# http client : 10.28.1.70;
from scapy.all import *
def pkgs(pkg):
if pkg.getlayer(TCP) and pkg[IP].dst=="10.28.16.20" and "10.28.1.70" in pkg[IP].src:
resp=IP(dst=pkg[IP].src,src=pkg[IP].dst)/TCP(dport=pkg[TCP].sport,sport=pkg[TCP].dport,flags="RA",seq=pkg[TCP].ack,ack=pkg[TCP].seq+(len(pkg[TCP].payload) if pkg.getlayer(Raw) else 1))
send(resp,count=2,verbose=0)
if __name__=="__main__":
conf.L3socket=L3RawSocket
sniff(filter="tcp",prn=pkgs,store=0)
의견이 아닌 질문에 코드를 붙여주십시오. –
코드가 추가되었습니다 @ Thierry Lathuille – Jianguo
왜 아무도 대답하지 않습니까? – Jianguo