Skip to content

Commit aa1002e

Browse files
committed
update
1 parent 913c80f commit aa1002e

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

device/block/tcp_reset/tcp_reset.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import random
33
import sqlite3
44
from SecAutoBan import SecAutoBan
5-
from scapy.all import sniff, send, conf
5+
from scapy.all import sniff, send
66
from scapy.layers.inet6 import IPv6
77
from scapy.layers.inet import TCP, IP
88
from multiprocessing.pool import ThreadPool
@@ -20,22 +20,21 @@ def get_ip(p):
2020
return src_ip, dst_ip
2121

2222

23-
def send_reset(iface, seq_jitter=0, default_window_size=2052):
23+
def send_reset(iface):
2424
def f(p):
2525
src_ip, dst_ip = get_ip(p)
2626
src_port = p[TCP].sport
2727
dst_port = p[TCP].dport
28-
seq = p[TCP].seq
2928
ack = p[TCP].ack
30-
jitter = random.randint(max(-seq_jitter, -seq), seq_jitter)
31-
rst_seq = ack + jitter
29+
if "S" in p[TCP].flags:
30+
return
3231
try:
3332
if p.haslayer(IP):
34-
p = IP(src=dst_ip, dst=src_ip) / TCP(sport=dst_port, dport=src_port, flags="R", window=default_window_size, seq=rst_seq)
33+
p = IP(src=dst_ip, dst=src_ip) / TCP(sport=dst_port, dport=src_port, flags="R", window=2052, seq=ack)
3534
send(p, verbose=0, iface=iface)
3635
return
3736
if p.haslayer(IPv6):
38-
p = IPv6(src=dst_ip, dst=src_ip) / TCP(sport=dst_port, dport=src_port, flags="R", window=default_window_size, seq=rst_seq)
37+
p = IPv6(src=dst_ip, dst=src_ip) / TCP(sport=dst_port, dport=src_port, flags="R", window=2052, seq=ack)
3938
send(p, verbose=0, iface=iface)
4039
return
4140
except Exception as e:
@@ -106,7 +105,6 @@ def run_sniff():
106105

107106

108107
if __name__ == "__main__":
109-
conf.use_pcap = True
110108
sniff_iface = os.getenv("sniff_iface", "eth0")
111109
reset_iface = os.getenv("reset_iface", "eth1")
112110
db_name = "block_ip.db"

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ COPY --from=download /SecAutoBan/device/alarm /device/alarm
1010
COPY --from=download /SecAutoBan/device/block /device/block
1111
COPY --from=download /gobgp/gobgp /usr/bin/gobgp
1212
COPY --from=download /gobgp/gobgpd /usr/bin/gobgpd
13-
RUN apk add --no-cache py3-pip libpcap
13+
RUN apk add --no-cache py3-pip
1414
RUN pip3 install --no-cache-dir --break-system-packages SecAutoBan requests RouterOS-api scapy

0 commit comments

Comments
 (0)