ALT.HACK.NL faq... on DSIN 
et.org

.. You are @ The ALT.HACK.NL FAQ ... on DSINet.org ..

.. Menu ..

1] Regels voor het posten
2] Internet Protocol (IP)
2.1 TCP/ IP Tutorial
2.2 Protocol
2.3 Het OSI model
3] Hoe verkrijg ik een IP?
4] Operating Systems
5] Netwerken
6] Wat is Telnet
7] Shell accounts
8] Wat zijn hackers, crackers en scriptkiddies?
9] Gebruik maken van proxies
10] Redirecten van poorten
11] Anoniem Mailen
12] Trojan horses
13] Beveiliging onder Linux
14] Wat is het verschill tussen hubs, switches en routers
15] Search Engines / Links
16] Forum / Messageboard

Dit is slechts de inleiding, voor de volledig tutorial lees de PDF of DOC versie.
TCPIP tutorial.pdf  |  TCPIP tutorial.doc

.. TCP/ IP Tutorial ..

Deze tutorial zal een overzicht geven van de TCP/ IP stack in het algemeen en IP nummering in het bijzonder. Er zal worden ingegaan op zaken als classful en classless IP adressering, subnetting, VLSM, DNS en routering.

Alle screenshots en datagrammen die zijn gesniffed zijn gebaseerd op communicatie tussen een computer met Windows 2000 Advanced Server en een computer met Windows 2000 Professional enerzijds, communicatie met computers op het Internet anderzijds. Dumps zijn gemaakt met de ingebouwde network sniffer van Advanced Server en met windump.exe. Grafische ondersteuning van uitgewerkte voorbeelden van subnetting zullen worden gegeven aan de hand van de IP Subnet Calculator van WildPackets, te downloaden van de volgende URL:
ftp://ftp.wildpackets.com/public/goodies/ipcalc321.exe.

Dit programma zal echter alleen als ondersteuning worden gebruikt om de handberekende resultaten toe te lichten. Begrip gaat boven het intoetsen van wat nummers.

Veel leesplezier toegewenst.



.. Protocol ..

Als mensen met elkaar willen communiceren, dan kunnen ze dat alleen als ze dezelfde communicatieregels en taal gebruiken (al dan niet via een derde persoon die voor de vertaling zorgt). Hetzelfde geldt voor computers: computers begrijpen elkaar alleen als ze dezelfde communicatieregels gebruiken en dezelfde taal gebruiken (of als er hardware aanwezig is die de communicatieregels en taal die beide partijen hanteren succesvol kan vertalen). Neem als voorbeeld een telefoongesprek tussen twee mensen. Hierbij worden meestal de volgende afspraken gehanteerd:
  • Degene die wordt gebeld zegt zijn naam;
  • Degene die belt zegt zijn naam en begint zijn verhaal (wellicht in het Nederlands);
  • Degene die gebeld wordt geeft antwoord, waarna de beller weer gaat praten;
  • De personen praten niet door elkaar heen;
  • De personen verbreken de verbinding als ze beiden klaar zijn met praten.
Alhoewel de vergelijking met menselijke communicatie natuurlijk vastloopt, kan een verzameling vergelijkbare stappen worden onderscheiden bij communicatie tussen computers. Er wordt een verbinding opgezet, data uitwisseling vindt plaats, er wordt alleen data verstuurd als de andere partij niet stuurt, en de verbinding wordt aan het einde van de sessie weer verbroken.

De taken die komen kijken bij het mogelijk maken van communicatie tussen computers, zoals het opzetten, coördineren en verbreken van de verbinding, het adresseren van de te versturen data etc., kunnen in aparte en onafhankelijke modulen worden ondergebracht. De functionaliteit van zo'n module wordt geïmplementeerd via een gestandaardiseerde verzameling regels en wordt met een duur woord een protocol genoemd. Nu zijn er, net zoals bij menselijke communicatie, verschillende protocollen. Zo nemen de mensen in andere landen de telefoon aan met "Ja?", of zeggen ze hun eigen telefoonnummer. Die mensen gebruiken dus een ander protocol.



.. Het OSI model ..

Om een goed beeld te krijgen van de communicatie protocollen die worden gebruikt door computers, is door de International Organisation for Standardization (ISO) een referentie model opgezet, waarbinnen protocollen een specifieke plaats krijgen al naar gelang de functie die het protocol uitvoert. Niet alle protocollen doen immers hetzelfde. De verzameling protocollen die is geïmplementeerd in een bepaald systeem wordt ook wel de protocol stack of protocol suite genoemd. De lagen waaruit het OSI model bestaat (en dus de protocollen in iedere laag) zijn onafhankelijk van zowel elkaar als het besturingssysteem waarop het model is geïmplementeerd. Iedere laag communiceert dus alleen met de laag direct boven of direct onder hem (uitzonderingen daargelaten). Ook maak het dus niet uit of de installatie op Linux zijn werk doet, of Windows XP. Door deze modulaire structuur wordt voorzien in verminderde complexiteit, een betere onderhoudbaarheid en standaardisatie waar iedereen gebruik van kan maken. De lagen die worden onderscheiden in het OSI model zijn de volgende:
  • Applicatie laag: dit is het niveau van de applicatie waarmee de gebruiker werkt. Voorbeelden hiervan zijn FTP, Telnet, en E-mail;
  • Presentatie laag: deze laag bepaalt hoe de data van de applicatie laag wordt gerepresenteerd. Voorbeelden zijn ASCII, JPG en MIDI;
  • Sessie laag: deze laag zorgt voor het opzetten, managen en afsluiten van communicatie tussen applicaties, alsmede synchronisatie van communicatie. Een voorbeeldprotocol dat in deze laag zit is RPC;
  • Transport laag: deze laag zorgt voor zaken zoals error correctie, het bijhouden welke pakketjes zijn verstuurd en ontvangen etc. Voorbeelden zijn TCP, UDP en SPX;
  • Netwerk laag: deze laag zorgt voor adressering en de mogelijkheid tot routering, zodat de data op de plaats van bestemming aan kan komen. Voorbeeldprotocollen zijn IP, IPX en X.25;
  • Data link laag: deze laag bestaat eigenlijk uit twee sublagen, te weten de Logical Link Control (LLC) en de Media Access Control (MAC). In de MAC laag wordt onder andere het hardware adres gespecificeerd van de netwerk interface. De data link laag zorgt voor het "low-level werk", zoals het omzetten frames in bits en vice versa, het uitvoeren van foutdetectie op de frames etc. Voorbeelden van protocollen in deze laag zijn HDLC, PPP en DSLC;
  • Fysieke laag: zorgt voor het daadwerkelijk versturen van data en regelt zaken zoals voltage, de fysieke connectoren en data snelheden. Voorbeelden zijn standaarden zoals V.24 en EIA/TIA-449.
Aangezien weinig mensen de volgorde en de namen van deze lagen kunnen onthouden, is er een acroniem voor verzonnen, waarbij de eerste letter van het volgende woord overeenkomt met de bijbehorende laag (in het Engels, dus de laatste letter is niet correct) in het OSI model:
All People Seem To Need Data Processing
Nu we weten waar het OSI model uit is opgebouwd, kunnen we gaan kijken naar de datagrammen zoals die over het netwerk vliegen. Stel je voor dat je een E-mail wilt versturen. De applicatie laag (het E-mail programma) stuurt de data van bovenaf door de protocol stack. Iedere laag voegt bepaalde controle informatie toe aan het ontvangen pakketje, en stuurt het nieuw gemaakte pakketje door naar de direct onderliggende laag. Deze laag ontvangt het pakketje van de bovenliggende laag, voegt er zijn eigen controle informatie aan toe, en stuurt het resultaat weer een laag naar beneden etc. Dit proces herhaalt zich net zolang totdat het pakketje uiteindelijk bij de fysieke laag uitkomt (er komen natuurlijk meer dingen bij kijken, maar dat is hier niet van belang). Als dit gebeurt, wordt het pakketje (in officiële termen spreekt men nu van een frame) vertaald in een rij enen en nullen, wordt het op het netwerk gezet en wordt verzonden.

Het proces dat hier is beschreven (toevoegen van "eigen" informatie in de vorm van een header en het doorsturen naar een volgende laag) wordt encapsulation genoemd. Schematisch ziet dit er als volgt uit[1]:

[1] Zoals wellicht duidelijk is zijn de headers niet in de correcte grootte afgebeeld. Headers op iedere laag verschillen van grootte, inhoud en structuur.



Dit was slechts de inleiding, ga nu verder met de PDF of DOC versie.
TCPIP tutorial.pdf  |  TCPIP tutorial.doc