우선 게임 클라이언트 내에서 패킷전송이 목적이지만, 불법적인 이득을 보려는것도아니고 조작도아니고 단순 공부용이니깐 대답점해줘
목적
특정 게임내에서 공지사항을 내가 만든 프로그램에서 띄우고싶어. 게임클라이언트를 들어가지않은채로
해본일
1) 게임내에서 공지사항 버튼을 누르고, 공지사항이 출력될때의 패킷을 WireShark 로 잡았음.
2) 내 IP에서 게임서버쪽으로 공지사항을 출력하라는 패킷이 전송되었고, 게임서버쪽에서 공지사항을 내 IP로 다시 보내줬어
2-1) 물론 공지사항 데이터는 암호화되있어서 알아볼수가없었지만, 일단 그건 중요하진않았음.
3) Packet Sender나, Packet Builder 같은 패킷전송툴로 WireShark 에서 Export한 pcap 파일을 불러서 전송했지만, 2에서 받았던 정보를 주지않았어
4) 3의 과정을 WireShark로 잡아보니깐 전송툴로 보낸 패킷이 Tcp Segement 관련 오류처리가 되어있더라고...
5) 클라이언트 켜진 상태로도 안되니, 클라이언트 없이는 시도도 못해봤어
궁금한점?
1) WireShark 로 잡은 패킷에 클라이언트의 정보가 다 들어있을텐데, 패킷전송툴로 보냈을때 왜 제대로 응답을 받지못하는걸까?
2) Dll 인젝션처럼, 패킷전송할때도 해당 클라이언트에 인젝션해서 전송해야하는걸까?
3) 클라이언트가 꺼진 상태에서 서버와 응답을 주고받는일이 가능한걸까?
4) 응답프로토콜이 x11 이던데, 받은 데이터를 복호화하는게 가능한걸까?
클라이언트가 연결이 안됬는데 답장이 왜와 ㅂㅅ아 - dc App
아니 헤더정보에 클라이언트 정보가 다있는거아님? 그러면 답장주지않나?
옛날에 어떤 모바일게임은 그런식으로 따로 클라이언트 연결없이 패킷전송이 됬었던거같은데...
UDP면 그럼
Tcp는 둘이 연결받아야댐 - dc App
httpRequest 처럼 보내면 바로 응답오는게 아닌가보구나, 그러면 tcp 클라이언트와 서버간의 연결을 해주는건 어떤 방식으로 하는거임?
tcp는 connect()-accept() 해야함