Click here to Skip to main content
15,925,255 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Need Help Auto-Locking NT4.0 Workstation Pin
geo_m4-May-03 22:36
geo_m4-May-03 22:36 
GeneralRe: Need Help Auto-Locking NT4.0 Workstation Pin
geo_m4-May-03 23:40
geo_m4-May-03 23:40 
GeneralMeeting trouble when sending TCP package. Pin
George24-May-03 19:16
George24-May-03 19:16 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m4-May-03 21:28
geo_m4-May-03 21:28 
GeneralRe: Meeting trouble when sending TCP package. Pin
George24-May-03 23:08
George24-May-03 23:08 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m4-May-03 23:34
geo_m4-May-03 23:34 
GeneralRe: Meeting trouble when sending TCP package. Pin
George25-May-03 4:12
George25-May-03 4:12 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m5-May-03 9:53
geo_m5-May-03 9:53 
Hi,

difficult to say, I never worked with RAW_PACKETs or what is it, I worked only with really _raw_ packets Wink | ;) But I think, it is possible to do it on WinNT. Question is only, why? The TCP is already implemented and works... So if there is no special reason for doing it with this hard way, I'd suggest to stick with proven solutions and stay on normal winsock. Or if it is just a toy project, it is a great way how to learn the internals of the TCP/IP (a bit too much coding for me, but why not, if you enjoy it :P )

Anyway, I looked to your sample, and I think the answer is quite easy - for ACK, FIN, PUSH, RST, SYN, URG flags, you have to simply set the th_flags member of your tcpheader structure, exactly as you are setting the SYN flag now.
The values for flags are defined as follows:

#define TCP_FLAG_URGENT     0x20<br />
#define TCP_FLAG_ACK        0x10<br />
#define TCP_FLAG_PUSH       0x08<br />
#define TCP_FLAG_RESET      0x04<br />
#define TCP_FLAG_SYN        0x02<br />
#define TCP_FLAG_FIN        0x01


so if you want to set two flags, you can simply do it by or-ing them. Then instead of:
tcph->th_flags = 2; // SYN
write something like:
tcph->th_flags = TCP_FLAG_ACK + TCP_FLAG_SYN; // Set ACK and SYN together


Let's go to the next step Poke tongue | ;-P
GeneralRe: Meeting trouble when sending TCP package. Pin
George25-May-03 19:06
George25-May-03 19:06 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m5-May-03 22:47
geo_m5-May-03 22:47 
GeneralRe: Meeting trouble when sending TCP package. Pin
George26-May-03 1:52
George26-May-03 1:52 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m6-May-03 2:22
geo_m6-May-03 2:22 
GeneralRe: Meeting trouble when sending TCP package. Pin
George26-May-03 2:58
George26-May-03 2:58 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m6-May-03 4:23
geo_m6-May-03 4:23 
GeneralRe: Meeting trouble when sending TCP package. Pin
George26-May-03 20:31
George26-May-03 20:31 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m7-May-03 4:29
geo_m7-May-03 4:29 
GeneralRe: Meeting trouble when sending TCP package. Pin
George27-May-03 20:54
George27-May-03 20:54 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m7-May-03 21:34
geo_m7-May-03 21:34 
GeneralRe: Meeting trouble when sending TCP package. Pin
George28-May-03 2:09
George28-May-03 2:09 
GeneralRe: Meeting trouble when sending TCP package. Pin
geo_m15-May-03 23:49
geo_m15-May-03 23:49 
QuestionHow to make the ComboBox's list box part horizontal scrollable?. Pin
psusong4-May-03 19:08
psusong4-May-03 19:08 
AnswerRe: How to make the ComboBox's list box part horizontal scrollable?. Pin
psusong4-May-03 19:14
psusong4-May-03 19:14 
GeneralI'd like to change some string that user selected by mouse in a HTML viewer Pin
Member 3487054-May-03 19:00
Member 3487054-May-03 19:00 
Generaldynamic dialog Pin
Member 3487054-May-03 18:59
Member 3487054-May-03 18:59 
GeneralRe: dynamic dialog Pin
Joan M4-May-03 22:04
professionalJoan M4-May-03 22:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.