0
私はSCAPYを使用してWEBサーバーにデプロイされたプログラムを作成し、特定のHTTPクライアントアクセスをブロックするためにSCAPYを使用してTCP RSTを送信します。Python scapyを使用してクライアントアクセスの問題を防ぐためのTCP RSTを送信
プログラムを実行すると、クライアントはTelnetを使用してサーバに接続します。WEBリスニングポートは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