How do you do low low level sockets in C, example: actually sending a SYN.
                
                A: 
                
                
              
            I suspect the nmap sources would be an excellent place to look.
                  Josh Matthews
                   2008-09-24 01:59:25
                
              
                +1 
                A: 
                
                
              You want to use raw sockets. In *nix, you need to be root to be able to create raw sockets. I'm not sure if it's possible in Windows.
                  Adam Rosenfield
                   2008-09-24 01:59:40
                
              it's possible and you have to be administrator(or system) to do it.
                  Kalmi
                   2009-01-16 11:47:04
                
                +6 
                A: 
                
                
              
            Raw sockets are your friend.
There have been some links to useful information on this question.
Also consult Chapter 25 "Raw sockets" of Steven's "Unix Network Programming"
If you're attempting cross platform code you may find libpcap a useful alternative.
                  Andrew Edgecombe
                   2008-09-24 01:59:51
                
              
                +6 
                A: 
                
                
              
            What you actually want is a raw socket ... you can completely control the headers and flags with the raw socket interface, but programming them is much more challenging. Here's a great tutorial to get you started: http://mixter.void.ru/rawip.txt.
                  Steve Moyer
                   2008-09-24 02:00:10