Я пытался отправлять SYN-пакеты в свою локальную сеть и отслеживать их с помощью Wireshark, и все работает нормально, за исключением случаев, когда я пытаюсь отправить пакет на свой собственный IP-адрес, он «кажется» работать, потому что он говорит, что пакет отправлен 1, но это на самом деле не отправлено, я не вижу ни пакета в Wireshark, ни ответов на пакет. Моя установка — это компьютер A (192.168.0.1) с сервером TCP Socket, прослушивающим порт 40508, и компьютер B (192.168.0.2).
На компьютере B я тестирую:
ip=IP(src="192.168.0.2",dst="192.168.0.1")
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
Он работает нормально, я вижу пакет SYN на Wireshark и ответ SYN/ACK от 192.168.0.1.
На компьютере A я тест:
ip=IP(src="192.168.0.1",dst="192.168.0.2")
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
Он тоже работает нормально, я вижу пакет SYN и ответ RST/ACK (сервер не прослушивает порт 40508 на 192.168.0.2, поэтому он отправляет RST/ACK) ответ от 192.168.0.2
Но когда я пытаюсь на компьютере A:
ip=IP(src="192.168.0.2",dst="192.168.0.1")
SYN=TCP(sport=40508,dport=40508,flags="S",seq=12345)
send(ip/SYN)
В Wireshark ничего не появляется, как будто пакет никогда не отправлялся, но он сказал, как и другие тесты: «Отправлено 1 пакет». и не вернул никакой ошибки. Если я запускаю тот же тест на компьютере B и пытаюсь отправить пакет на его собственный IP-адрес, у меня возникает та же проблема.
Для моей программы мне действительно нужно отправить пакет SYN на мой собственный IP-адрес, есть ли способ сделать это или это невозможно?
Заранее спасибо,
нолийский