Java에서 TCP 패킷의 1 : 1 사본을 작성하여 다시 전송하면 클라이언트의 TCP 구현이이를 자동으로 삭제하도록 할 수 있습니까? 아니면 내가 잘못된 방향으로 접근하고 있습니까? 그것은 단순한 일처럼 보이지만 저를 곤두박질니다.Java에서 패킷이 중복 되나요?
EDIT 원시 소켓 라이브러리는 여기에 어떤 관련성이 있습니까, 아니면 엄격히 요구되지는 않습니까?
Java에서 TCP 패킷의 1 : 1 사본을 작성하여 다시 전송하면 클라이언트의 TCP 구현이이를 자동으로 삭제하도록 할 수 있습니까? 아니면 내가 잘못된 방향으로 접근하고 있습니까? 그것은 단순한 일처럼 보이지만 저를 곤두박질니다.Java에서 패킷이 중복 되나요?
EDIT 원시 소켓 라이브러리는 여기에 어떤 관련성이 있습니까, 아니면 엄격히 요구되지는 않습니까?
예, 원하는 페이로드 데이터를 모두 복사하여 다시 보낼 수 있습니다.
아니요, Java 소켓을 사용하여 직접 TCP/IP 헤더 (및/또는 이더넷 프레임 헤더)를 다시 만들 수는 없습니다.
당신은 libpcap의보고 할 수 있습니다에서 TCP/IP 헤더가 커널 레벨에서 작성되기 때문에
TCP 패킷 복제는 커널 레벨에서 수행해야합니다.
아마도 리눅스 커널을 다시 컴파일하고 TCP/IP 스택 구현을 수정하여 패킷 삭제 및 복제를 시뮬레이션해야 할 수도 있습니다.
안녕하세요, 답장을 보내 주셔서 감사합니다. 원시 소켓 라이브러리가 이런 종류의 작업을 수행해야합니까? 나는 RockSaw에 대해 들어 본 적이 없지만 결코 사용하지 않았지만 당신이 좋아하는 것을 무엇이든 할 수있게 해줍니다. – xingyu