Как отправить пакет SYN и не отправлять ответ ACK? - PullRequest
0 голосов
/ 18 апреля 2020
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("HOST", PORT))

Этот код обязательно отправляет пакет SYN в HOST, но завершает ли он трехстороннее рукопожатие? Отправляет ли он пакет ACK в HOST?

Если нет, то как я могу сделать так, чтобы сокет не отправлял пакет ACK?

Это потому, что я пытаюсь изучить синтаксис fl aws и как эта атака работает. Таким образом, SYN-пакеты отправляются, но ответ ACK-пакетов не отправляется.

1 Ответ

1 голос
/ 18 апреля 2020

При вызове .connect() ядро ​​задает используемый сокет со стандартным трехсторонним рукопожатием:

  1. SYN →
  2. ← SYN + ACK
  3. ACK →

Чтобы отправить пакеты без создания пригодного для использования сокета, вместо этого наберите hping3:

$ sudo hping3 -i u1 -S -p 80 192.168.1.1
...