패킷 하이재킹을 아나요
ip헤더, tcp헤더에서 ip port 필드만 보면 이렇쩌.
왼쪽이 source 오른쪽이 destination 이어요.
22.22.22.22:54321 → 1.1.1.1:53
1.1.1.1:53 → 11.11.11.11:1080 (해킹)
이거는 중국꺼 프로젝트 이름이 jtun2sock 이었던거 같은데 지금은 지웠나 보아요 없어져쩌
위에서 source는 임시 보관하고 destination → source 이케 한다음 11.11.11.11:1080 → destination 넣었어요. 이케 하면 해킹이 되어요.
11.11.11.11:1080 → 1.1.1.1:53
1.1.1.1:53 → 22.22.22.22:54321 (복구)
돌아오는 패킷은 이렇게 소스와 목적이 바뀌어 와요. 이럼 처음한거를 반대로 destination → source 이케 한다음 22.22.22.22:54321 → source 임시보관한 거를 가져와서 복구해요.
위에 일련에 과정을 하여서 패킷을 감쳥 하는거 아나요.
위에 과정이 앵간한 거는 4바이트, 2바이트 필드를 서로 크로스 하면서도 임시로 보관하는 코드를 다시 크로스로 가져오면서 해킹 복구를 하여야 하여서 복잡한 과정을 거쳐요. 컴퓨터는 빠르게 처리하겠지만 일반적을 블록 길이가 앵간하여야 처리가 빠른거 아나요.
사실 임시 보관하는 단계에서 미리 1.1.1.1:53 → 22.22.22.22:54321 12바이트나 되는 필드를 복제하면 되어요. 메모리를 더 사용하였다 하더라도 8바이트 4바이트 이렇게 헤더 필드에 맞추어 두면 2블록을 덮어쓰는 거만으로 복구가 되어서 앵간해져요.
위에거 이거나 밑에거 이거나 구현하는데 정답은 없는거 이지만 밑에거로 하면 사실 필드를 려허정 건드릴 필요가 없어쩌.
22.22.22.22:54321 → 1.1.1.1:53
22.22.22.22:54321 → 11.11.11.11:1080 (해킹)
11.11.11.11:1080 → 22.22.22.22:54321
1.1.1.1:53 → 22.22.22.22:54321 (복구)
이케 목적 필드랑 소스 필드를 한번만 건드리는 거로 앵간이 구현이 되어요. tcp통신은 처음 연결을 하는 거보다 연결이 유지되는 동안에 필드를 덜 건드려야 하여서 이케 하면 좋아요. 안그럼 메모리 io가 너무 많아져서 핸드폰이 hot 뜨거뜨거 하여서 vpn 최고 속도를 늦춰야 하는거 아나요.
