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í
×

    včera 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    22.3. 21:55 | Nová verze

    Byla vydána verze 11.0 s kódovým jménem Aramo linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 22.04 LTS a podporována bude do roku 2027. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    22.3. 16:55 | IT novinky

    Mozilla založila startup Mozilla.ai a vložila do něj 30 milionů dolarů. Cílem je vývoj důvěryhodné, nezávislé a open source AI.

    Ladislav Hagara | Komentářů: 2
    22.3. 16:33 | Nová verze

    Po půl roce vývoje od vydání verze 43 bylo vydáno GNOME 44 s kódovým názvem Kuala Lumpur. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube.

    Ladislav Hagara | Komentářů: 22
    22.3. 13:33 | IT novinky

    Letošní Turingovou cenu (2022 ACM A.M. Turing Award) získal Bob Metcalfe za vynalezení, standardizaci a komercializaci Ethernetu.

    Ladislav Hagara | Komentářů: 0
    22.3. 07:00 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána ve verzi 5.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu.

    Ladislav Hagara | Komentářů: 0
    21.3. 18:22 | Nová verze

    Byla vydána Java 20 / JDK 20. Nových vlastností (JEP - JDK Enhancement Proposal) je 7. Nová Java / JDK vychází každých 6 měsíců. LTS verze je 17.

    Ladislav Hagara | Komentářů: 7
    21.3. 16:44 | IT novinky

    Google spustil konverzační AI Bard. Vyzkoušet lze zatím pouze ve Spojených státech a Spojeném království. Více v Bard FAQ.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 301 hlasů
     Komentářů: 3, poslední včera 12:45
    Rozcestník


    Dotaz: Vyhodnoceni TCP provozu (Linux + ANSI C)

    27.3.2007 16:37 ext3fs
    Vyhodnoceni TCP provozu (Linux + ANSI C)
    Přečteno: 212×
    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.