Coding a SYN Scanner guide ( source included )
ithilgore
advent.cloud.strife at gmail.com
Fri Mar 30 01:21:41 EEST 2007
Giorgos Keramidas wrote:
> 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 :-)
>
>
>
Το link δεν δουλευει ? Περιεργο , οσοι το χουν κατεβασει ως τωρα δεν
ειχαν προβλημα .
Οσο για τα headers ουσιαστικα το ιδιο λεμε. Εγω λεω δεν χρειαζεται να
ειναι packed ως απλα defined packed
αφου αποσο ειδα και απο τον gdb ειναι packed by default ( δες το
παραδειγμα με το ACK που ειπα ).
Αυτο που λεω δηλαδη ειναι οτι μαλλον στο συστημα μου ,που το χω
δοκιμασει επιτυχως ( Slackware 11 kernel 2.2.4.33 ) ,θα ειναι
by default packed σε συμπεριφορα ακομα και αν δεν ειναι ορισμενο το
attribute.
ithilgore
More information about the unix-admin-gr
mailing list