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 15:44 | Humor

    Český úřad zeměměřický a katastrální zavedl u anonymního nahlížení do katastru nemovitostí novou CAPTCHA ve formě mapové puzzle: nepřihlášení uživatelé musí nově správně otočit devět dlaždic v 3x3 poli tak, aby dohromady daly souvislý obrázek výseče reálné mapy, přičemž na to mají pouze jeden časově omezený pokus. Test je podle uživatelů i odborníků příliš obtížný a na sociálních sítích pochopitelně schytává zaslouženou kritiku a

    … více »
    » FIDESZ🧡! « | Komentářů: 5
    dnes 15:33 | Nová verze

    Byla vydána verze 1.95.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Zajímavý software

    Mozilla prostřednictvím své dceřiné společnosti MZLA Technologies Corporation představila open-source AI klienta Thunderbolt. Primárně je určený pro firemní nasazení.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | IT novinky

    Firma Cal.com oznámila, že přesouvá svůj produkční kód z otevřeného do uzavřeného repozitáře z důvodu bezpečnostního rizika umělé inteligence, která prý dokáže vyhledávat a zneužívat zranitelnosti rychleji, než by je jejich vývojářský tým stíhal opravovat. Zároveň zveřejnila samostatnou, open-source verzi Cal.diy pod licencí MIT, ovšem bez řady původních funkcí. O tom, zda je toto opatření rozumné, existují pochyby. … více »

    » FIDESZ🧡! « | Komentářů: 5
    dnes 13:55 | Nová verze

    Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.04. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 23:00 | Nová verze

    Kryptografická knihovna OpenSSL byla vydána v nové verzi 4.0. Přehled změn v souboru CHANGES.md na GitHubu. Odstraněna byla podpora SSLv2 Client Hello a SSLv3. Ve výchozím nastavení byla zakázána podpora odmítnutých eliptických křivek v TLS dle RFC 8422. Přibyla například podpora Encrypted Client Hello (ECH, RFC 9849).

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Komunita

    curl up 2026, tj. setkání vývojářů a uživatelů curlu, proběhne opět v Praze. O víkendu 23. a 24. května v Pracovně.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | IT novinky

    Aplikace pro ověřování věku uživatelů on-line platforem je technicky hotová a brzy bude k dispozici pro občany EU, oznámila dnes předsedkyně Evropské komise Ursula von der Leyenová. Půjde podle ní o bezplatné a snadno použitelné řešení, které pomůže chránit děti před škodlivým a nelegálním obsahem. Aplikace bude podle ní fungovat na jakémkoli zařízení a bude zcela anonymní.

    Ladislav Hagara | Komentářů: 15
    včera 04:33 | Komunita

    V prosinci 2012 byla z linuxového jádra odstraněna podpora procesorů 386. Včera započalo odstraňování podpory procesorů 486.

    Ladislav Hagara | Komentářů: 5
    včera 01:33 | IT novinky

    IuRe (Iuridicum Remedium) vyhlásila Ceny Velkého bratra za rok 2025. Slídily roku jsou automobilka Volkswagen, Meta a česká Ministerstva vnitra a průmyslu a obchodu. Autorem Výroku Velkého bratra je dánský ministr spravedlnosti zpochybňující právo na šifrovanou komunikaci. Naopak Pozitivní cenu získali studenti Masarykovy univerzity za odpor proti nucení do používaní aplikace ISIC.

    |🇵🇸 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1341 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jak TCP tester v C, který neposílá FIN,ACK?

    17.9.2017 22:12 tcptester
    Jak TCP tester v C, který neposílá FIN,ACK?
    Přečteno: 853×
    Ahoj. Chci vyzkoušet nějaké věci na serveru a potřebuji, aby klient navázal spojení na konkrétním zdrojovém a cílovém TCP portu, ale aby pak neodesílal FIN,ACK. Chci jen vytvořit spojení a ukončit program, aniž by spojení ukončoval. Nicméně zdá se, že ačkoliv nemám close a i když donutím program k segfaultu, vždy se FIN, ACK odešle. Proč a jak to obejít?

    Kód:
        #include <stdio.h>
        #include <stdlib.h>
        #include <errno.h>
        #include <string.h>
        #include <netdb.h>
        #include <sys/types.h>
        #include <netinet/in.h>
        #include <sys/socket.h>
        #include <arpa/inet.h>
        #include <unistd.h>
    
        #define PORT 80    /* the port client will be connecting to */
    
        #define MAXDATASIZE 100 /* max number of bytes we can get at once */
    
        int main(int argc, char *argv[])
        {
            int sockfd, numbytes;  
            char buf[MAXDATASIZE];
            struct hostent *he;
    	struct sockaddr_in my_addr;
            struct sockaddr_in their_addr; /* connector's address information */
    
            if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
                perror("socket");
                exit(1);
            }
    	
    	my_addr.sin_family = AF_INET;
    	my_addr.sin_port = htons(5557);
    	my_addr.sin_addr.s_addr = inet_addr("192.168.1.42");
    	bzero(&(my_addr.sin_zero), 8);     /* zero the rest of the struct */
    	
    	if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) {
    		perror("BIND ERROR");
    		exit(1);
    	}
       
    
            their_addr.sin_family = AF_INET;      /* host byte order */
            their_addr.sin_port = htons(PORT);    /* short, network byte order */
    	their_addr.sin_addr.s_addr = inet_addr("1.2.3.4");
            bzero(&(their_addr.sin_zero), 8);     /* zero the rest of the struct */
    
            if (connect(sockfd, (struct sockaddr *)&their_addr, \
                                                  sizeof(struct sockaddr)) == -1) {
                perror("connect");
                exit(1);
            }
    
    	sleep(5);
    	
    	char *str = "Foo"; // Compiler marks the constant string as read-only
    	*str = 'b'; // Which means this is illegal and results in a segfault
    
            return 0;
        }
    

    Odpovědi

    17.9.2017 22:43 alexfa | skóre: 7
    Rozbalit Rozbalit vše Re: Jak TCP tester v C, který neposílá FIN,ACK?
    Takhle nejde :-)

    TCP v AF_INET/SOCK_STREAM spravuje jadro, a to zajisti, ze i po nespravnem ukonceni procesu dojde ke spravnemu ukonceni TCP spojeni skrze signalizaci RST a FIN (a spoustu dalsich veci). Pokud toto chcete udelat z userspace (tzn. z uzivatelskeho procesu), tak musite pouzit raw sockety ... ale to znamena take vytvaret 'plnohodnotne' IP packety a mit rootovska prava (ci ekvivalent).

    https://www.systutorials.com/docs/linux/man/7-raw/

    Ales Teska | Twitter: @alesteska | TeskaLabs | GitHub
    Jendа avatar 17.9.2017 22:43 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak TCP tester v C, který neposílá FIN,ACK?
    To za tebe dělá kernel, když po programu uklízí - lhostejno jestli protože skončil „správně“ nebo smrtelným signálem.

    Potřebuješ raw sockets.
    17.9.2017 22:44 NN
    Rozbalit Rozbalit vše Re: Jak TCP tester v C, který neposílá FIN,ACK?
    Nestacil by jen syn scan?
    17.9.2017 23:01 tcptester
    Rozbalit Rozbalit vše Re: Jak TCP tester v C, který neposílá FIN,ACK?
    Toho jsem se bál, že v tom bude mít prsty jádro. SYN scan nestačí a do raw socketu se mi moc jít nechce. Asi to nahodím ve virtuálce a prostě tomu odpojím síťovku. Předpokládám, že bez raw socketu to elegantněji nejde, že?
    18.9.2017 09:08 graviton
    Rozbalit Rozbalit vše Re: Jak TCP tester v C, který neposílá FIN,ACK?
    Hmm, urcite jde v iptablesach vyjadrit aby na outputu zahazovaly pakety s kombinaci flagu fin+ack. Nemam momentalne jak to zkusit, ale nevidim duvod, proc by to nemelo fungovat...

    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.