C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[5355] Re:윈도우에서 패킷을 보낼때...
홍용혁 [] 3400 읽음    2001-02-12 10:55
박세율 님이 쓰신 글 :
: 안녕하세요?
: 오랜만에 질문을 올려봅니다.
:
: 네트웍 프로그램밍을 하는중에 패킷을 만들다가
: 제대로 전송이 되지 않은거 같아서 질문을 드립니다.
:
: 윈도우 소켓api을 보니 socket2라는 버젼의 api도 있던데..
: 기존의 api와는 어떻게 다른지도 잘 모르겠더라구요
: 윈삭2에 대한 자료는 거의 찾기가 힘들고요..
:
: 우선 아래의 구조체를 사용해서 만들었는데 제대로 됀것인지
: 의문이 듭니다.
: 리눅스의 헤더파일에서 가져왔습니다 :)
:
: typedef unsigned char u_int8_t;
: typedef unsigned short u_int16_t;
: typedef unsigned long u_int32_t;
:
: struct iphdr
: {
:     unsigned int ihl:4;
:     unsigned int version:4;
:     u_int8_t tos;
:     u_int16_t tot_len;
:     u_int16_t id;
:     u_int16_t frag_off;
:     u_int8_t ttl;
:     u_int8_t protocol;
:     u_int16_t check;
:     u_int32_t saddr;
:     u_int32_t daddr;
:     /*The options start here. */
: };
:
: typedef    u_int32_t tcp_seq;
:
: struct tcphdr
:   {
:     u_int16_t th_sport;        /* source port */
:     u_int16_t th_dport;        /* destination port */
:     tcp_seq th_seq;        /* sequence number */
:     tcp_seq th_ack;        /* acknowledgement number */
:
:     u_int8_t th_x2:4;        /* (unused) */
:     u_int8_t th_off:4;        /* data offset */
:
:     u_int8_t th_flags;
: #define    TH_FIN    0x01
: #define    TH_SYN    0x02
: #define    TH_RST    0x04
: #define    TH_PUSH    0x08
: #define    TH_ACK    0x10
: #define    TH_URG    0x20
:     u_int16_t th_win;        /* window */
:     u_int16_t th_sum;        /* checksum */
:     u_int16_t th_urp;        /* urgent pointer */
: };
:
:
: 소켓은 아래의 함수로 시작했습니다.
:
: if ((s = WSASocket(AF_INET, SOCK_RAW, 255, NULL, 0, 0)) == INVALID_SOCKET)
: {
:     perror("wsasocket");
:     exit(s);
: }
:
: ....
: .... 패킷 구조체 초기화 부분
: ....
:
:    i = sendto(s, packet, IPHDRSIZE + TCPHDRSIZE + data_size, 0,
:              (struct sockaddr *)&sin_dst, sizeof(struct sockaddr));
:
: 이렇게 해서 패킷을 전송합니다.
: 그런데.. 제대로 대는것 같지 않아서 질문을 드려봅니다.
: 만들어낸 패킷은 tcp/ip에서 syn패킷입니다
:
: netstat -an을 해보면 syn이라고 나와야 하는데.. 전혀 나오지 않습니다
:
:
:
: PS
: {
:   예전에는 몰랐는데, 지금 보니 게시판이 무지 빠르네요
: }
:
:
Winsock2 에 대한 자료를 찾을수 있는곳

http://home.jiran.com/~jijon 로 가보세요

+ -

관련 글 리스트
5352 윈도우에서 패킷을 보낼때... 박세율 2907 2001/02/12
5355     Re:윈도우에서 패킷을 보낼때... 홍용혁 3400 2001/02/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.