2017-04-09 1 views
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) 

Program code screenshot

+0

의견이 아닌 질문에 코드를 붙여주십시오. –

+0

코드가 추가되었습니다 @ Thierry Lathuille – Jianguo

+0

왜 아무도 대답하지 않습니까? – Jianguo

답변

0

나는 it.import 스레딩 해결했다.

관련 문제