Coding a SYN Scanner guide ( source included )
Giorgos Keramidas
keramida at ceid.upatras.gr
Fri Mar 30 01:04:12 EEST 2007
On 2007-03-30 00:58, ithilgore <advent.cloud.strife at gmail.com> wrote:
> Καλη παρατηρηση γενικα και απο τους 2. Καταλαβα τι εννοειτε αλλα στον
> συγκεκριμενο κωδικα συμβαινουν τα εξης:
> α) Το pseudo header χρησιμοποιειται **μονο** για το datagram που
> στελνουμε και **μονο** για τον υπολογισμο του checksum : με αλλα λογια
> δεν χρησιμοποιειται πουθενα σε συνδυασμο με την read( )
>
> Να θυμισω λιγο τον κωδικα :
Δεν έχω δει τον κώδικα. Η σελίδα του αρχικού link κάνει timeout
όταν πάω να την ανοίξω. Οπότε μπορεί να σου λέω και κάτι άσχετο.
> Αλλα θα μπορουσε να σκεφτει κανεις και το αλλο: Κοιταξτε τα
> <netinet/ip.h> και γενικα τα επισημα headers.
Εδώ πάλι διαφωνώ κάπως...
Στο δικό μου λειτουργικό, που χρησιμοποιεί κι αυτό gcc για να κάνει
build τα πάντα, το netinet/ip.h header περιέχει:
% /*
% * Structure of an internet header, naked of options.
% */
% struct ip {
% #if BYTE_ORDER == LITTLE_ENDIAN
% u_int ip_hl:4, /* header length */
% ip_v:4; /* version */
% #endif
% #if BYTE_ORDER == BIG_ENDIAN
% u_int ip_v:4, /* version */
% ip_hl:4; /* header length */
% #endif
% u_char ip_tos; /* type of service */
% u_short ip_len; /* total length */
% u_short ip_id; /* identification */
% u_short ip_off; /* fragment offset field */
% #define IP_RF 0x8000 /* reserved fragment flag */
% #define IP_DF 0x4000 /* dont fragment flag */
% #define IP_MF 0x2000 /* more fragments flag */
% #define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
% u_char ip_ttl; /* time to live */
% u_char ip_p; /* protocol */
% u_short ip_sum; /* checksum */
% struct in_addr ip_src,ip_dst; /* source and dest address */
% } __packed __aligned(4);
Το linux έχει αρκετά πιο "περίεργες" ιδέες για το networking.
> Δεν τα εχει πουθενα ως packed. Αυτο που λεω ειναι οτι θα μπορουσε να
> ειναι default συμπεριφορα ως attribute αλλα απο'τι φαινεται δεν
> χρειαζεται στις περιπτωσεις αυτες.
Μπα, νομίζω χρειάζεται (ειδικά στα netinet/* headers).
Remember SPARC & SIGBUS :-)
More information about the unix-admin-gr
mailing list