abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 18, poslední dnes 18:34
    Rozcestník

    Dotaz: Vyhodnoceni TCP provozu (Linux + ANSI C)

    27.3.2007 16:37 ext3fs
    Vyhodnoceni TCP provozu (Linux + ANSI C)
    Přečteno: 244×
    Dobry den, ackoli sem asi tak uplne dotaz nepatri, hodne souvisi s GNU/Linux, protoze prave v nem pisi program, ktery nedela uplne co by mel.

    Problematika:

    - pro jiste potreby odchytavam IP packety a z nich dale urcuji jestli jsou TCP nebo UDP a dalsi veci...

    Problem:

    - pracuji-li na urovni Looback (proste se pripojuji od sebe k sobe, bezi u mne klient i server) je vse v poradku. Chci-li navazat treba ftp spojeni (ftp localhost) odchytim, ze se jedna o TCP spojeni (klient poslal serveru pozadavek o spojeni - SYN flag a server odpovedel SYN ACK)

    - pokud pracuji na urovni internetu (napr ze sve stanice se chci pripojit na ftp, tedy ftp ftp.linux.cz) tak prvni co odchytim je SYN ACK od serveru, ale nijak netusim kam se stratil SYN odemne jako od klienta putujici k serveru, ten proste nezaznamenam.

    Viz demonstracni priklad:

    int main(){
            struct iphdr *ip;               //IP header
            struct tcphdr *tcp;     //TCP header
            struct udphdr *udp;     //UDP header
            int sd_tcp, sd_udp;
            char *buffer;
    
            buffer = (char *) malloc(PKT_LEN);
            memset(buffer, 0, PKT_LEN);
      
            sd_tcp = socket(PF_INET, SOCK_RAW, IPPROTO_TCP);
            if (sd_tcp < 0)
                    perror("Socket error()");
            
             while((read(sd_tcp, buffer, 8192) > 0)){ 
                    ip = (struct iphdr *) buffer;
        
                    printf("-- IP Header --\n");
                    printf("Zdrojova IP: %s\n", inet_ntoa(ip->saddr));
                    printf("Cilova IP: %s\n", inet_ntoa(ip->daddr));
                    
                    tcp = (struct tcphdr *) (buffer + ip->ihl*4);   //init header TCP
                    
                    printf("-- TCP Header --\n");
                    printf("Zdrojovy port: %d\n", ntohs(tcp->source));
                    printf("Cilovy port: %d\n", ntohs(tcp->dest));
                    printf("Cislo ACK: %u\n", ntohl(tcp->ack_seq));
                    printf("Flag FIN: %d\n", tcp->fin);
                    printf("Flag SYN: %d\n", tcp->syn);
                    printf("Flag RST: %d\n", tcp->rst);
                    printf("Flag PSH: %d\n", tcp->psh);
                    printf("Flag ACK: %d\n", tcp->ack);
                    printf("Flag URG: %d\n", tcp->urg);
                    printf("-----KONEC-----");
    
                    memset(buffer, 0, PKT_LEN);
            }
            return 0;
    }
    
    Priklad je jen ciste demontracni, jde mi o to jestli je postup dobry a proc to zlobi. Budu vdecny za kazdou radu, protoze uz to resim nekolik dni a netusim kde je bota.

    Dekuji.

    Na otázku zatím nikdo bohužel neodpověděl.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.