나는 연결을 확립하고 데이터 패킷을 보내는 것처럼 보이는 프로그램을 코딩했습니다. 리눅스에서 raw-socket을 사용하고, C 언어를 사용한다.원시 소켓으로 원시 데이터를 리눅스 (PSH-ACK)에 보냅니다.
아쉽게도 연결이 안정되어 있으므로 프로그램을 정상적으로 구현했습니다. 지금 문제는 내가 서버에서 ACK를 수신하여 psh-ack (데이터 패킷)을 채워야하는 방법을 추측하고 netcat의 출력 버퍼에 데이터를 볼 수 있도록 많은 시간을 할애 할 수 없다는 것입니다 ...
그래서, 누구든지 패킷을 포맷 할 수 있습니까? 나는 너무 많은 시간을 보냈고, 당신에게 교통의 완전한 기록을주는 것은 쉬울 것입니다.
미리 감사드립니다. 희망을 일찌감치 제안 ...;).
추신 : 분명하지 않다면 TCP 네트워크의 프로세스 속도를 높이기 위해 내 사용자 공간 tcp 스택을 구현하는 것처럼 가장하며, 비 차단 프로그램 실행에 네트워킹 프로세스를 포함시키기 만하면됩니다. 네트워킹 프로세스.
여러분 중 일부는 알 수 있듯이, 리눅스 박스는 SYN_ACK을 보낸 서버에 자동으로 응답을 보내지 만 연결은 RST로하고 TCP 스택을 구현하여 연결을 확립 할 수는 없습니다. 그래서, 나는 "TCP/UDP blackhole DoS 예방"이라고 불리는 grsec의 보호 기능을 사용하고 있는데, 이는 리눅스 커널이 "비 일관적인"네트워크 트래픽에 대한 응답을 원하지 않는 것을 방지한다.
그게 전부입니다. http://www.arcesio.net/checksum/checksumTCP.html (편집 대부분의 스페인어 & 영어) :
플래그 : PSH & ACK. – user1189104