Tôi đã cố gắng gửi gói SYN trên mạng cục bộ của mình và theo dõi chúng bằng Wireshark và mọi thứ hoạt động tốt, trừ khi tôi cố gắng gửi gói đến địa chỉ ip của chính mình làm việc bởi vì nó nói Sent 1 gói, nhưng nó không thực sự được gửi, tôi không thể nhìn thấy các gói tin trong Wireshark cũng không có bất kỳ câu trả lời cho các gói tin. Thiết lập của tôi là một máy tính A (192.168.0.1) với một TCP Socket Server nghe trên cổng 40508, và một máy tính B (192.168.0.2).Scapy SYN gửi trên địa chỉ IP của chúng tôi
trên máy tính B i kiểm tra:
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)
Nó hoạt động tốt, tôi thấy các gói tin SYN trên Wireshark và phản ứng/ACK SYN từ 192.168.0.1
trên máy tính A i kiểm tra:
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)
nó hoạt động tốt quá, tôi thấy các gói tin SYN và RST/ACK (không có máy chủ lắng nghe trên cổng 40.508 trên 192.168.0.2 nên nó sẽ gửi một RST/ACK) phản hồi từ 192.168.0.2
Nhưng khi tôi cố gắng trên máy tính 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)
Không có gì xuất hiện trong Wireshark, như thể các gói dữ liệu không bao giờ được gửi nhưng nó nói như xét nghiệm khác: Sent 1 gói. và không trả lại lỗi nào. Nếu tôi chạy cùng một thử nghiệm trên máy tính B và cố gắng gửi một gói tin đến địa chỉ IP của nó, tôi đã nhận được cùng một vấn đề.
Đối với chương trình của tôi, tôi thực sự cần gửi gói SYN tới địa chỉ IP của riêng mình, có cách nào để thực hiện điều đó hay không?
Cảm ơn trước,
Nolhian
Nói cách khác, gói được gửi trên giao diện loopback. – Borealid
Cảm ơn bạn đã trả lời, tôi đã kiểm tra và chính xác là nó, gói tin nằm trên giao diện loopback, wireshark thấy nó trên lo. Kể từ khi tôi không có câu trả lời SYN/ACK từ gói tôi đoán nó không bao giờ đạt 192.168.0.1, tôi đã cố gắng cũng để đặt một cổng với không có gì nghe trên nó và vẫn không có câu trả lời RST/ACK. Vì vậy, tôi đã cố gắng làm cho máy chủ nghe trên 127.0.0.1 thay vì 192.168.0.1 nhưng vẫn không có gì, các gói tin được tạo ra được gửi trên loopback nhưng nó không trả lời. Nếu máy chủ là 127.0.0.1 và tôi viết một máy khách python với một kết nối socket TCP trên nó, nó hoạt động tốt ... – Nolhian
Tôi thực sự bị mất ở đó :(Bất kỳ ý tưởng về lý do tại sao nó không bao giờ đáp ứng tại địa phương nhưng nó khi cùng một gói được tạo ra được gửi bởi một máy tính khác hoặc khi TCP socket cố kết nối (ngay cả cục bộ)? – Nolhian