Jump to content
a13x4nd7u

Vrei sa faci ca si cum un calculator s-a conectat la un anumit site si nu stii cum?

Recommended Posts

Posted

Vrei sa faci ca si cum un calculator s-a conectat la un anumit site/server TCP?

Raspunsul la intrebare este insusi acest post, dar o sa mai explic si alte mici parti ale conexiunilor TCP (adica folosind protocolul TCP), adica majoritatea conexiunilor.

Acest post explica baza unei conexiuni (desi multi fac programe prin care un client se conecteaza la server fara sa stie de fapt ce se intampla).

Nu este mare lucru, dar ideea de baza de aici poate fi folosita pentru a face atacuri complexe si efective.

In mod normal pentru ca sa faci o conexiune TCP/IP trebuie sa trimiti un pachet SYN, sa primesti unul SYN+ACK si sa o inchizi cu ACK.

Noi nu avem cum sa primim SYN+ACK ca sa "inchidem" conexiunea.

Poate va intrebati "Ce este asa de important in acel pachet?"

Raspunsul este acknowledgment number (care este important doar daca primim ACK), un numar pe care trebuie sa il trimitem inapoi ca sa aratam ca noi suntem cu adevarat calculatorul care a trimis cererea de conexiune.

Dar, folosind wireshark oricine poate observa ca acel numar este aproape intotdeauna 1.

Asa ca putem face acest lucru usor.

1. Folosind ip-ul victimei si portul X tu trimiti un pachet cu care arati ca vrei sa faci o conexiune noua (SYN).

2. Trimitem pachetul cu SYN+ACK aproape imediat (nu vrem sa ajunga primul, pentru ca desi rar, se mai intampla).

3. Dupa aceea putem trimite de exemplu cererea unei pagini cu un pachet simplu si date: "GET /index.html HTTP/1.1" .

Dupa aceste 3 pachete TCP/IP victima o sa primeasca pe portul X un pachet SYN+ACK (cel pe care noi l-am ghicit) si continutul paginii index.html de pe serverul pe care am deschis noi conexiunea si poate si alte pachete ca RST (in cazul in care serverul vrea sa reseteze conexiunea) sau FIN+ACK in cazul in care vrea sa o inchida (asta se intampla la serverele web, serverul vrand sa inchida conexiunea imediat dupa ce a trimis continutul paginii).

Ca sa nu las oarecum neterminat (pentru ca orice conexiune se si inchide) o sa incerc sa explic si cum se inchide o conexiune.

Acest lucru este un pic mai complicat (si nu o sa poti ghici asa de usor acknowledgement number).

Notam calculatorul care vrea sa inchida conexiunea cu A si pe celalalt cu B.

A ii trimite lui B FIN+ACK;

B ii trimite lui A ACK;

B ii trimite lui A FIN+ACK;

A ii trimite lui B ACK.

Dar dupa ce te-ai conectat nu mai poti ghici acknowlidgement number ca sa inchizi conexiunea. (cel putin eu nu am reusit)

Este facut de mine de la 0 din ceea ce am citit pe wikipedia, dar am mai folosit si wireshark ca sa observ reteaua, netul sau simple programe ale mele.

Astept pareri. :)

Posted

Vrei sa faci ca si cum un calculator s-a conectat la un anumit site si nu stii cum?

No Offence : Dar suna de parca faimosul si renumitul Bahoi a pus titlul (P***`n P****)

Posted

Am descoperit (dar nu cred ca sunt primul) cum poti sa pacalesti un server ca un IP oarecare s-a conectat la el (poate sa nu fie IP-ul tau).

Asta cred ca e important in ceea ce am scris in tutorialul asta, restul este baza TCP/IP.

Dar m-am exprimat cam aiurea, recunosc.

EDIT:

Poti sa ii trimiti si date, dar nu vei primi raspuns (pentru ca nu e IP-ul tau).

N-am inteles absolut nimic

Poate nu am explicat asa de bine si poate ca mai trebuie ceva despre conexiuni TCP ca sa intelegi tot. :|

Vrei sa faci ca si cum un calculator s-a conectat la un anumit site si nu stii cum?

No Offence : Dar suna de parca faimosul si renumitul Bahoi a pus titlul (P***`n P****)

Titlul e cel mai aiurea. :|

Posted
bun pai si ai vreo aplicatie practica pt ceea ce ai descoperit?

Nu am inca program pentru asta. Trebuie creata o functie pentru fiecare tip de pachet (SYN SYN+ACK, trimitere date).

Daca vrei sa il fac il fac (in C pentru Linux), dar imi ia ceva timp.

Pentru Windows vor trebui facute cateva mici modificari (dar sunt un pic pesimist pentru ca nu mi-a mers niciun program cu socketuri in C pe Windows).

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...