Home | Looking for something? Sign In | New here? Sign Up | Log out

22 Maret 2007

TCP/IP Fundamentals

OSI Seven Layer Model & Seminar Outline

This seminar will present TCP/IP communications starting from Layer 2 up to Layer 4 (TCP/IP applications cover Layers 5-7)

  • IP Addresses
  • Data Link Layer
    • Network Frames
    • Address Resolution Protocol
  • Network Layer
    • Internet Protocol
    • IP Routing
    • ICMP Error Reporting
  • Transport Layer
    • User Datagram Protocol
    • Transmission Control Protocol
  • Session through Application Layers
    • Domain Name System
  • Final example tracing DNS transaction through a router

Definitions

  • Physical network - a collection of computers, communications devices, wiring, etc. that communicate directly with one another (e.g., Ethernet, Token Ring)
  • Host - A computer, connected to a physical network, that exchanges information with another computer via TCP/IP
  • Gateway - A computer that interconnects two or more physical networks and that routes TCP/IP information among those networks (accurately referred to as a router)

IP Addresses

IP addresses

  • are unique, 32-bit addresses
  • correspond to connections, not hosts (generally, move connection ==> change IP address)
  • are referenced by humans via dotted decimal (or dotted quad) notation, one number per 8 bits (1 octet or byte), e.g., 128.192.6.7
  • consist of three primary classes A, B, and C (class D is for multicast) of the form [netid,hostid]

Class formats




Subnet Mask (netmask)

  • 32-bit value
  • Generally used to subdivide (subnet) a given IP class network into smaller (sub)networks
  • Netmask determines which portion of an IP address is the network address and which is the host address
    • An IP address bit is a network address bit if the corresponding netmask bit is 1
    • An IP address bit is a host address bit if the corresponding netmask bit is 0
  • "Natural netmask" has all netid bit locations = 1 and all hostid bit locations = 0
    (e.g., 255.0.0.0, 255.255.0.0, and 255.255.255.0 for class A, B, and C networks, respectively)
  • Netmask example:


Netid and hostid conventions:

  • Network addresses have hostid with all bits = 0 (e.g., 128.192.0.0 with netmask=255.255.0.0 and 128.192.6.0 with netmask=255.255.255.0)
  • Directed broadcast addresses have hostid with all bits = 1 (e.g., 128.192.255.255 with netmask=255.255.0.0 and 128.192.54.255 with netmask=255.255.255.0)
  • "Limited" broadcast has all bits = 1 (e.g. 255.255.255.255)
  • Loopback address 127.xxx.yyy.zzz used for internal testing, no traffic generated (typically 127.0.0.1)

IP network ranges by class:

  • Class A ==> 1.0.0.0 - 126.0.0.0
  • Class B ==> 128.xxx.0.0 - 191.xxx.0.0
  • Class C ==> 192.xxx.yyy.0 - 223.xxx.yyy.0
  • Class D ==> 224.xxx.yyy.zzz - 239.xxx.yyy.zzz (multicast IP)
Hosts with multiple IP addresses per interface and/or on multiple interfaces are called multi-homed hosts.

Data Link Layer

Network Frames

  • The basic unit of a physical network is a frame
  • General form of a network frame


  • Network frame formats
    • Ethernet frames
      • Version 2 format



      • IEEE 802 format

    • Token Ring frames
      • IEEE 802 format

  • Every physical network has a maximum frame size called the maximum transfer unit (MTU)
    • Ethernet MTU - 1500 bytes
    • Token Ring MTU - 4192 bytes
  • Some physical networks have a minimum frame size and must be padded (typically with bytes of "zeroes") to that size when the actual data size is smaller (Ethernet has a minimum frame size of 60 bytes)

Address Resolution Protocol (ARP)

  • The address resolution protocol (ARP) is used to associate physical network card addresses (MAC addresses) with IP addresses.
  • Encapsulation of ARP message in a physical frame


  • ARP message format



  • ARP process
    1. ARP requestor sends a broadcast frame with the destination IP address, its source IP address and MAC address, asking for the destination MAC address.
    2. Host with destination IP address sends a directed frame back to ARP requestor filling in its MAC address and storing the MAC address of the sender in an ARP table (or cache).
    3. Optionally, all other hosts within the same broadcast domain add the sender's MAC and IP addresses to its ARP cache.

  • Ethernet example:

    Source IP address = 128.192.6.7 (80 C0 06 07)
    Source MAC address = 00 00 C0 8D 9C FB
    Destination IP address = 128.192.6.193 (80 C0 06 C1)
    Destination MAC address = 00 00 1D E5 A3 B9

    1. ARP Request


    2. ARP Response

ARP Table (or Cache)

  • To minimize broadcasts due to ARP requests, IP hosts and gateways store tables of MAC and IP addresses (called ARP tables or cashes)
  • Each entry in the cache contains (IP address, MAC address, Time to Live)
  • Sample ARP cache:

    IP address
    MAC address
    TTL
    128.192.6.111 00:00:C0:B8:A5:E3 155s
    128.192.10.141 08:00:20:7C:7F:7E 246s
    128.192.106.159 00:05:02:E6:48:41 626s
    128.192.153.21 00:00:1B:16:F7:FF 332s
    128.192.237.52 00:00:0C:4E:60:8F 185s
    128.192.26.126 00:00:94:21:66:14 439s

  • The Time to Live (TTL) field has either a fixed or adjustable maximum (usually a workstation or router, respectively)
  • TTL is set to maximum when ARP request received, not set when communicating with another host
  • Tools to display ARP info (TTL usually not displayed):
    • arp (Windows 9x/NT/2000)
    • arp (Unix)

Proxy ARP

  • Some devices (such as routers) respond to ARP requests for IP addresses connected to other networks by providing their MAC address in an ARP reply
  • This behavior is called proxy (or promiscuous) ARP
  • Proxy ARP example:



Network Layer

Internet Protocol

  • The Internet Protocol (IP) is an:
    • unreliable (delivery not guaranteed)
    • connectionless (packets independent of one another)
    • best-effort (attempt to deliver packets)
    packet delivery mechanism
  • Basic unit is the datagram (up to 65,535 bytes)
  • Encapsulation of IP datagram in a physical frame


  • IP datagram format


  • Network MTU and fragmentation
    • IP hosts send datagrams up to the MTU size of the physical network
    • Routers *may* have to fragment datagrams if outbound MTU smaller than inbound frame size
      • Each fragment has the format of an IP datagram
      • Fragments reassembled at receiving host (may be inefficient)
      • Higher probability of retransmission --> losing one fragment loses entire datagram
  • IP Options
    • Loose and strict source routing - used to route a datagram along a specific path
    • Record route - used to trace a route
    • Internet timestamp - used to record timestamps along the route

IP Routing

  • Both hosts and routers participate in routing
  • Direct routing - transmitting a datagram from one computer directly to another on same physical network
  • Indirect routing - destination host not on same network --> datagram sent to a router for delivery
  • Routing based on IP routing table of the form (netmask, net-address, next-hop)
  • Routing algorithm
    1. Extract destination IP address ipdest from datagram
    2. Starting at the beginning of the routing table (and for each entry)
      1. Calculate network portion of ipdest --> ipnet = AND(netmask, ipdest)
      2. If ipnet equals net-address, send datagram to next-hop
      3. If ipnet does not equal net-address, repeat steps a. and b. for next entry
      4. If no table entry matches, declare a routing error
  • Routing table order:
    1. Directly connected networks (DCN)
    2. Host-specific routes (HSR)
    3. Net-specific routes (NSR)
    4. Default route (DR)
  • Hosts have minimal routing tables (usually two entries - directly connected network and default route)
  • Network for host routing examples


  • Routing table for host H1

    entry
    netmask
    net-address
    next-hop
    hop-count
    (comments)
    1
    255.255.0.0 128.192.0.0 128.192.6.7
    0
    DCN
    2
    0.0.0.0 0.0.0.0 128.192.1.1
    1
    DR

  • Host routing example 1:

    1. Datagram ipdest=128.192.254.100
    2. Calculate network portion of ipdest using 1st routing table entry netmask:
             ipdest = 10000000 11000000 11111110 01100100 (128.192.254.100)       netmask = 11111111 11111111 00000000 00000000 (255.255.0.0) AND operation   -----------------------------------        ipnet  = 10000000 11000000 00000000 00000000 (128.192.0.0)      
    3. Compare ipnet and 1st routing table entry net-address
                128.192.0.0 equals 128.192.0.0      
    4. Since they match, send it to next-hop=128.192.6.7, i.e., communicate directly with destination host

  • Host routing example 2:

    1. Datagram ipdest=131.144.4.10
    2. Calculate network portion of ipdest using 1st routing table entry netmask:
             ipdest = 10000011 10010000 00000100 00001010 (131.144.4.10)       netmask = 11111111 11111111 00000000 00000000 (255.255.0.0) AND operation   -----------------------------------        ipnet  = 10000011 10010000 00000000 00000000 (131.144.0.0)      
    3. Compare ipnet with 1st routing table entry net-address
                128.192.0.0 does *not* equal 131.144.0.0      
    4. Since they don't match, calculate network portion of ipdest using 2nd routing table entry netmask:
             ipdest = 10000011 10010000 00000100 00001010 (131.144.4.10)       netmask = 00000000 00000000 00000000 00000000 (0.0.0.0) AND operation   -----------------------------------        ipnet  = 00000000 00000000 00000000 00000000 (0.0.0.0)      
    5. Compare ipnet with 2nd routing table entry net-address
                0.0.0.0 does equal 0.0.0.0      
    6. Since they match, send it to next-hop=128.192.1.1, i.e., the default gateway
  • Network for gateway routing examples


  • Routing table for gateway G1

    entry
    netmask
    net-address
    next-hop
    hop-count
    (comments)
    1
    255.255.255.0 128.192.6.0 128.192.6.250
    0
    DCN
    2
    255.255.255.0 128.192.7.0 128.192.7.250
    0
    DCN
    3
    255.255.255.0 128.192.150.0 128.192.150.250
    0
    DCN
    4
    255.255.255.0 128.192.232.0 128.192.232.250
    0
    DCN
    5
    255.255.255.255 131.144.4.10 128.192.232.2
    1
    HSR
    6
    255.255.0.0 168.15.0.0 128.192.232.2
    2
    NSR
    7
    0.0.0.0 0.0.0.0 128.192.232.2
    1
    DR

  • Gateway routing example 1:

    1. Datagram ipdest=128.192.150.24
    2. Find routing entry in table in which network portion of ipdest matches net-address and send datagram to corresponding next-hop
                            (netmask) entry    netmask  AND(128.192.150.24)  net-address    result -----    -------      --------------   -----------    ------   1    255.255.255.0  128.192.150.0    128.192.6.0    no match   2    255.255.255.0  128.192.150.0    128.192.7.0    no match   3    255.255.255.0  128.192.150.0    128.192.150.0  send directly 
  • Gateway routing example 2:

    1. Datagram ipdest=168.15.44.39
    2. Find routing entry in table in which network portion of ipdest matches net-address and send datagram to corresponding next-hop
                             (netmask) entry    netmask    AND(168.15.44.39)   net-address   result -----    -------        ------------    -----------   ------     1    255.255.255.0    168.15.44.0    128.192.6.0    no match   2    255.255.255.0    168.15.44.0    128.192.7.0    no match   3    255.255.255.0    168.15.44.0    128.192.150.0  no match   4    255.255.255.0    168.15.44.0    128.192.232.0  no match   5    255.255.255.255  168.15.44.39   131.144.4.10   no match   6    255.255.0.0      168.15.0.0     168.15.0.0     send to 128.192.232.2 
  • Gateway routing example 3:

    1. Datagram ipdest=193.24.56.149
    2. Find routing entry in table in which network portion of ipdest matches net-address and send datagram to corresponding next-hop
                              (netmask) entry    netmask    AND(193.24.56.149)  net-address    result -----    -------        --------------  -----------    ------    1    255.255.255.0    193.24.56.0     128.192.6.0    no match   2    255.255.255.0    193.24.56.0     128.192.7.0    no match   3    255.255.255.0    193.24.56.0     128.192.150.0  no match   4    255.255.255.0    193.24.56.0     128.192.232.0  no match   5    255.255.255.255  193.24.56.149   131.144.4.10   no match   6    255.255.0.0      193.24.0.0      168.15.0.0     no match   7    0.0.0.0          0.0.0.0         0.0.0.0        send to 128.192.232.2                                                        (default gateway) 

Routing Update Protocols

  • Routing update protocols are used to modify the routing tables in gateways
  • Autonomous system - a collection of networks and gateways controlled by a single authority


  • Two general types of update protocols
    • Interior gateway protocols - Used among gateways within an autonomous system
      • Routing Information Protocol (RIP, RIP2)
      • Open Shortest Path First (OSPF)
    • Exterior gateway protocols - Used by gateways connecting autonomous systems
      • Exterior Gateway Protocol (EGP)
      • Border Gateway Protocol (BGP)
  • OSPF & RIP used at UGA
    • Only Foundry core routers communicate via OSPF
    • Foundry routers broadcast RIP sometimes (don't listen)
    • RIP turned off all other routers
    • Hosts can listen to RIP but must *NOT* broadcast RIP

ICMP Error Reporting

  • Since IP networks are inherently unreliable, need a mechanism for reporting IP datagram delivery problems
  • Internet Control Message Protocol (ICMP) used to report errors
    • ICMP *required* implementation of any TCP/IP software
    • Usually initiated by gateways, but can also be initiated by hosts
    • ICMP messages are sent back to source IP host, not gateways
    • ICMP messages delivered just like IP datagrams
    • Problems delivering ICMP messages do *not* generate additional ICMP messages
    • ICMP does not specify how to handle errors
  • ICMP Message Encapsulation


  • ICMP Message Format


  • ICMP Echo Request/Reply - Used to test whether a destination is reachable and responding (e.g., used by packet internet groper or ping)


  • ICMP Destination Unreachable - Used by a gateway to indicate that it cannot route or deliver an IP datagram


  • ICMP Source Quench - Used by a gateway to indicate that it is congested, source slows down rate it sends datagrams


  • ICMP Redirect - Used by a gateway to tell a directly connected host that a more efficient gateway should be used for a specific IP address


  • ICMP Time Exceeded - Used by a gateway to indicate that a routing loop has occurred (sent when the IP TTL value reaches 0 or when segment reassembly time exceeded)


Transport Layer

  • TCP/IP applications utilize client/server technology to exchange information
    • Some hosts can offer a number of TCP/IP services concurrently
    • Some hosts can execute multiple client TCP/IP applications concurrently
    • Some can execute both client and server applications
  • When TCP/IP client and server applications want to send data to one another, they need a method of transporting that data to the correct application
  • Protocol ports are used to determine which application receives the data
    • positive 16-bit integers
    • well-known ports assigned by central authority (range 1-2047)
    • User-defined ports (range 2048 or greater)
    • destination port - used to specify the application on the destination host to receive the data (usually one of the well-known port assignments)
    • source port - used to specify where replies on the source host are to be sent (generated by the source host)
  • Two methods of transporting data
    • Connectionless, unreliable delivery (User Datagram Protocol)
    • Connection-oriented, reliable delivery (Transmission Control Protocol)

User Datagram Protocol (UDP)

  • UDP provides an unreliable, connectionless delivery
  • Application programs using UDP are responsible for message loss, duplication, delay, out-of-order delivery, and loss of connectivity
  • Examples of applications that use UDP transport include Network Time Protocol (NTP), Sun's Network File System (NFS), and the Simple Network Management Protocol (SNMP)
  • Each UDP message is called a user datagram
  • UDP Message Encapsulation


  • UDP Message Format


  • UDP messages are stored in queues on destination host, one queue per destination port


Transmission Control Protocol (TCP)

  • TCP provides reliable, end-to-end data transmission with flow control
  • Examples of TCP applications include Telnet, FTP, WWW, POP, IMAP, etc.
  • Basic features of TCP transmission:
    • Streamed Data - Data from sender to receiver organized as a stream of bits divided into 8-bit bytes (data streams have no TCP imposed structure)


    • Connection Oriented
      • Client host "calls" server host at a specific destination port
      • If receiver accepts call, a connection is established between the corresponding client and server applications
      • Information is transferred bi-directionally
      • Connection is closed ("call terminated") when client or server application finished or when certain communications errors detected
    • Buffered Transfer - Applications send bytes to TCP software that delivers the stream of bytes in exactly the order sent (not necessarily grouped the same way)
    • Full-duplex Transmission - Both hosts can send and receive data and control information independently


  • The unit of transfer in TCP is called a segment
  • TCP Segment Encapsulation


  • TCP Segment Format


  • Connection defined by the pair of numbers (source IP, source port) and (dest IP, dest port)
  • Different connections can use the same destination port on server host as long as the source ports or source IPs are different


  • TCP breaks data stream into segments


  • Sequence numbers used to place received segment data in the correct order
    • Initial sequence number (ISN) marks the beginning of data stream
    • ISN is random and negotiated when connection is established
  • Acknowledgement numbers tell sender that receiver expects *next* segment


  • When a segment is sent, a timer is started; if an ACK has not been received when the timer expires, the segment is resent


  • Sliding windows are used to transmit data stream efficiently and for flow control


  • All segments within the window are sent without waiting for acknowledgement (efficient transmission)


  • Window slides as acknowledgements received


  • Receiver sends acceptable window size to sender during each segment transmission (flow control)
    • if too much data being sent, acceptable window size is reduced
    • if more data can be handled, acceptable window size is increased
  • Actually four windows used, i.e., send and receive windows in both directions (full-duplex)


  • A TCP connection is established using a "three-way handshake"


  • A TCP connection is closed using a "modified three-way handshake"


  • A TCP connection is aborted via a connection reset (RST bit set in the CODE field)

Session through Application Layers

Domain Name System (DNS)

  • For human beings wanting to access Internet resources, names are much easier to remember than IP addresses
  • The Domain Name System (DNS) was created to provide a mapping between names for Internet resources and their associated IP addresses
  • Characteristics of DNS:
    • Hierarchical naming scheme


    • Delegation of authority for names
    • Distributed databases of name to IP address (and IP to name) mappings
  • Each name authority must operate at least two DNS database servers (name servers) for their authorized domain


  • Every TCP/IP implementation has a software routine called the name resolver (NR) to request a DNS lookup from a name server (NS)
  • Two types of name resolution:
    • Recursive resolution - NR asks NS to resolve names for which it does not have an authoritative answer by querying other name servers (predominant method)
    • Iterative resolution - NR asks NS to provide the IP address of a NS that can provide an authoritative answer
  • Typical name resolution process:
    1. NR receives a domain name from client TCP/IP application, formulates a DNS query and sends it to the first NS in its list
    2. NS determines if it is the authority for the domain name
    3. If so, it looks up the answer and sends an authoritative response back to client's NR
    4. If not, it (typically) queries other name servers for an authoritative response, sends a non-authoritative response to the client's NR and caches the response in case it receives a NR request for the same name
    5. The NR passes the response back to the application program and caches it for a period of time
    6. If the NR does not received a response from the NS in a specified period of time, it sends the query to the next NS in its list
  • DNS message format:


  • Pointer queries
    • Some TCP/IP server programs are configured to verify that an IP address has a corresponding domain name
    • IP address to domain name mapping is performed though a pointer query
    • For a given IP address of the form www.xxx.yyy.zzz, the format for a pointer query is:

      zzz.yyy.xxx.www.in-addr.arpa

    • NR sends the query (with a type of PTR) to name server
    • If it the authoritative NS for that IP address, it returns the corresponding domain name
    • If not, it queries a root NS for the authoritative NS, queries that NS, and returns the response to the NR
  • Domain suffix lists
    • Some name resolvers append a suffix name to the domain name from a domain suffix list before formulating a DNS query
    • A example of a domain suffix list is:

      .ucns.uga.edu
      .dev.uga.edu
      .uga.edu
      null

    • Some NRs automatically add domain suffixes one at a time to *all* domain names
    • Specifying a period (.) at the end of a domain name usually stops the NR from adding suffixes

    Final Example

    • Establishing an FTP session between FTP client dmm.ucns.uga.edu (128.192.6.7) and FTP server ftp.uga.edu (128.192.252.5)
    • Network topology:


    • Process of establishing FTP session:
      1. FTP client program sends domain name ftp.uga.edu to the name resolver (NR)
      2. NR first looks in its DNS cache to see if it has an IP address for ftp.uga.edu
      3. If so, NR passes the IP address back to the FTP client program
      4. If not, NR sends a DNS query to the first name server in its list
        1. NR formulates a DNS query asking for an address record (A) for the domain name ftp.uga.edu with an Internet class (hex 01)
        2. NR passes DNS query to UDP module along with NS IP address (128.192.1.9)



        3. UDP module places UDP header around data with destination protocol port of 53 (domain name service), passing UDP datagram to IP module along with NS IP address



        4. IP module places IP header around UDP datagram with PROTOCOL field set to UDP, determines whether to directly deliver datagram or forward to a router (direct in this case), and passes the IP datagram and appropriate IP delivery address (128.192.1.9) to data link (DL) module



        5. DL module checks its ARP cache for a MAC address corresponding to the delivery IP address
        6. If found, DL module places an Ethernet frame around IP datagram with destination MAC address (0010FFD638A2) from ARP cache and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer to the router



        7. If not found, DL module issues an ARP request and router supplies its MAC address since it is performing proxy ARP functions
        8. When ARP response is received, DL module places an Ethernet frame around IP datagram with destination MAC address (0010FFD638A2) from ARP response and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer to the router



      5. Router receives frame and forwards to destination network
        1. DL handler of router receives a frame with an IP Ethernet type, removes frame, and passes IP datagram to IP routing module



        2. IP routing module determines best route (direct on interface 128.192.1.250) and passes IP datagram (after decrementing TTL) to DL module along with IP delivery address (128.192.1.9)
        3. DL module checks its ARP cache for a MAC address corresponding to the delivery IP address
        4. If found, DL module places an Ethernet frame around IP datagram with destination MAC address (02608C2E8780) from ARP cache and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer



        5. If not found, DL module issues an ARP request and when ARP response is received, DL module places an Ethernet frame around IP datagram with destination MAC address (02608C2E8780) from ARP response and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer



      6. Name server looks up DNS query and sends a DNS response
        1. DL handler of name server receives a frame with an IP Ethernet type, removes frame, and forwards the IP datagram to its IP module



        2. IP module sees UDP in PROTOCOL field, removes the IP header, and passes the datagram to the UDP module



        3. UDP module looks at destination port number (53) and places data in the DNS port queue



        4. Name server program (BIND on Unix) reads DNS query from queue, looks up answer in its database, builds the DNS response (two in Answer section -- one CNAME [ftp.uga.edu=cousteau.uga.edu], one A record [cousteau.uga.edu=128.192.252.5]; three in Authority section -- one for each name server [dns1.uga.edu, dns2.uga.edu, dns3.uga.edu]; and three in Additional Info section -- one A record for each name server [dns1.uga.edu=128.192.1.9, dns2.uga.edu=128.192.1.193, dns3.uga.edu=168.24.242.249]), and forwards response along with client IP address (128.192.6.7) and source and destination ports (reversed) to UDP module



        5. UDP module places UDP header around DNS response and forwards UDP datagram to IP module along with client IP address



        6. IP module places IP header around UDP datagram with PROTOCOL field set to UDP, determines whether to directly deliver datagram or forward to a router (router in this case), and passes the IP datagram and appropriate IP delivery address (128.192.1.250) to data link (DL) module



        7. DL module checks its ARP cache for a MAC address corresponding to the delivery IP address (which should already be in cache from previous ARP request) and places an Ethernet frame around IP datagram with destination MAC address (0010FFD63860) from ARP cache and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer to the router



      7. Router receives frame and forwards to destination network
        1. DL handler of router receives a frame with an IP Ethernet type, removes frame, and passes IP datagram to IP routing module



        2. IP routing module determines best route (direct on interface 128.192.6.250) and passes IP datagram (after decrementing TTL) to DL module along with IP delivery address (128.192.6.7)
        3. DL module checks its ARP cache for a MAC address corresponding to the delivery IP address
        4. If found, DL module places an Ethernet frame around IP datagram with destination MAC address (0000C0EC2E25) from ARP cache and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer



        5. If not found, DL module issues an ARP request and when ARP response is received, DL module places an Ethernet frame around IP datagram with destination MAC address (0000C0EC2E25) from ARP response and an IP Ethernet type (hex 0800) and queues the frame for delivery via the physical layer



      8. Client host processes frame containing DNS response
        1. DL handler of client host receives a frame with an IP Ethernet type, removes frame, and forwards the IP datagram to its IP module



        2. IP module sees UDP in PROTOCOL field, removes the IP header, and passes the datagram to the UDP module



        3. UDP module looks at source and destination port numbers and passes data to name resolver (NR)



        4. NR caches DNS response (domain name and IP address pair) and passes that information back to FTP client program
      9. Client FTP program initiates three-way handshake to establish FTP session with destination host
  • 12 Maret 2007

    Hacking WinXP (The Best Way)

    Here the best to get "administrator privilages" on windows XP, founded from THE CODE PROJECT articles by haitham hamed housin.

    1-Introduction

    This article introduce very simple way to get Administrator like account and do the job and after finish recover your way, after that Get Admin Password later in your home by Cracking, After get the Admin Password Create a hidden user account and do all your jobs free, and Explain how to make a USB Storage Device Bootable corresponding to any system boot, and how to bypass Mother Board password by Default Passwords, and how to extract it if you are in the system

    2-To Hackers / Security Systems Engineers

    First All must know that both Hackers / Security Systems Engineers Are 2 faces to the same coin Any way, I try this on Windows XP SP2 I want all to try it on Windows Server 2003, Windows Vista Any Windows NT and POST a Message to make all know what versions exactly this idea can apply for

    3-Close Look to hole

    Microsoft stores all Security Information in many files but the main file is the SAM file (Security Accounts Manager)! this file contain critical information about users account you can explore the folder
    $windir$\system32\config
    You will find all things and may discover some thing new, but what amazing here is that the file is available, so we can apply our idea

    shot1

    You will Not be able To copy them Under XP

    4-Dose Microsoft Know and Why!?

    Yes Microsoft Know all things, and done on purpose why? I always for many years ask my self why Microsoft doesn’t do real security on their systems from the CD setup to all security aspects In the system, I found(my opinion may wrong)that they need to achieve 2 strategic things

    1-They need their software spread and all depend on it and in one day when they feel that they are the One The security will done and all money will go to One Pocket

    2-They Forced/Like to Make Some Organizations Hack other systems

    Proof:
    They can make this File SAM Unavailable by storing the information in FAT, FAT32, NTFS Areas (Sectors reserved by The Operating SYSTEM to Store the Addresses of the files on the HardDisk File Allocation Table) So that it is hard to extract. But they don't!!!!!

    5-Understand the Idea

    The Idea is simple I will explain it manually and it can then be programmed it is so easy here is the idea

    The SAM file is available and the SAM file contain a Security Information, so I created a Free Windows XP SP2 Logon account (Administrator Account without password) that means when windows Lunch it Will enter directly to the system without asking about any password And windows will store this Account in The SAM file on My PC So the SAM file on My PC contain an Account will Make you enter Directly to the Windows, so I will take My SAM File and Replace (by renaming, we will need the original file to recover our way) It with the other SAM File in The Other System or Machine So When you restart It will make you enter directly to the Windows With Administrator Like Account ,do what you need and then back all things to the previous state. All These Steps will be under other system bootable DOS, Knoppiex, Windows Live CD, Because Windows XP will not make u able to copy the Files

    6-Get Admin Like Account (The Simple Way)


    1- Download My 2 SAM files I Include them in Downloads
    2- Go to the target Machine , and try to Access it and Boot from any device CD-ROM, Floppy, NIC if it haven't any of those Read Hint 9
    3- After Get Access to the Boot Command prompt c:> or Boot Live OS CD, Go to the windows folder $windir$\system32\config And Copy the SAM File and System File (we will need it later) To other folder, Then go to $windir$\repair copy SAM file
    And then Rename the 2 SAM Files to SAM1 in their original places
    4- Copy My SAM/config File and Paste it in the windows folder $windir$\system32\config Copy My SAM/Repair File and Paste it in the windows folder $windir$\repair (may this step not required)
    5- Reboot and Make windows enter Normally
    6- Yeah, No You are in The System
    7- Copy the files in step 3 to Floppy Disk or Flash Stick Or Send it to your mail via Internet
    8- After finish repeat step 2 and delete My SAM files and Rename Both SAM1 to SAM
    9- Reboot , Congratulation you recover your way

    7-Crack the SAM-Know the real Admin Password and Apply Hint 8

    There is many ways I will introduce 2 ways and explain 1 After you get the SAM File and System File there are Programs That extract the Accounts and their passwords, depending on the idea of cracking the HASH (the HASH is one way encryption method) so that The program will generate random passwords and convert them to HASH and then compare it with the HASHES in the SAM File , so it may take a long time but for fast you will pay more money for ready made HASHES with their user names and passwords the 2 program are

    1-L0phtcrack v4.0 (LC4 alternate name) the most famous on the NET
    2-SAMInside http://www.insidepro.com/I include on the Downloads

    I will explain fast SAMInside

    shot1


    This is the main window press Ctrl+O or by mouse click Import SAM and SYSTEM

    shot1


    Window will open to import the 2 files and the program will start to crack the Accounts and get them, and then display users names and their passwords

    Any other tool will do the job try all and select your best I Explain here SAMInside because he give me results with 6 character only password and get it FAST

    8-Creat a Hidden User Accountn

    Windows NT / Windows 2000 and Windows XP has a security setting to hide accounts from the Logon Screen/Control panel users accounts

    shot1

    Press
    Ctrl+Alt+Delet
    Give you another Access Dialog


    Steps:

    1-After getting Admin Password enter to the system
    2-create an Account with password
    3-click start - > Run - > type Regedit press Enter
    4-Go to
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\ CurrentVersion\Winlogon\SpecialAccounts\UserList

    shot1



    5- Create a new DWORD Value on the UserList
    6-Name it with Name of Account to be Hidden
    7-set the Value Data of this DWORD Value to 0 to hide it /1 to appear it
    8- close Regedit and Reboot
    9- Press Ctrl+Alt+Delete when logon Screen Appear another login dialog appear type You hidden user name and password and press Enter

    Note:

    1- the account profile will be visible in \Documents and Settings, But it will be hidden from Logon Screen and User Account in the control panel

    2-there is other method that Inject your Account directly to the Admin SAM without know the Admin Pass, but believe me you don't Expect the result, so if you want try it (if the password hard to get)

    9-USB Boot for FAT32, NTFS or any File System


    HP Always amazing me to do this we need 2 tools

    1- HP USB Disk Storage Format Tool v 2.0.6 I include in Downloads If u want to find more go to http://www.hp.com/
    2- NTFSDOS Professional Boot Disk Wizard I include in Downloads If u want to find more go to http://www.winternals.com/

    shot1


    Just connect your USB Storage
    steps:
    1- Prepare a Startup Disk or Startup CD , Or any Equivalent
    2- In the HP tool select the Device->your USB Storage
    3- Select File System FAT or FAT32
    4- Check "create a DOS startup disk" checkbox and then select option "using DOS System Files Located at"
    5- brows your location
    6- Click Start
    7- Now you have a Bootable USB Storage Device
    8- Now in the NTFSDOS Professional Boot Disk Wizard follow the wizard and you will get a NTFS bootable USB Storage

    Why we need NTFS ?
    If the Partition of the Windows System is NTFS so with normal Startup you will not be able to access any files because the File System is not Recognized by MS-DOS when we install NTFSDOS Professional on the bootable disk it will allow you To Access any File Under NTFS

    Note:
    Make sure that the option in Mother board Setup of First Boot "USB-Hard Disk" if you want to boot from a USB

    10-Mother Boards Default Passwords and how to extract it if you are in The system


    This subject is huge I try to find simple or clever way but as u know many PC's many machines many bios versions and updates so I search the net for the best and I list below ,but if this doesn’t help I recommend you to find the bios version and the motherboard and search the net on Google, yahoo, yahoo groups and other you will find some thing help u

    HOW TO BYPASS BIOS PASSWORDS
    http://www.elfqrin.com/docs/biospw.html

    Removing a Bios - CMOS Password
    http://www.dewassoc.com/support/bios/bios_password.htm

    How to Bypass BIOS Passwords
    http://www.uktsupport.co.uk/reference/biosp.htm

    How to Bypass BIOS Passwords
    http://www.i-hacked.com/content/view/36/70/

    Default Password List
    2006-04-30
    http://www.phenoelit.de/dpl/dpl.html

    Award BIOS backdoor passwords:
    ALFAROME--------BIOSTAR--------KDD--------ZAAADA-------- ALLy--------CONCAT--------Lkwpeter--------ZBAAACA-------- aLLy-------- CONDO--------LKWPETER--------ZJAAADC-------- aLLY--------Condo--------PINT--------01322222-------- ALLY--------d8on--------pint--------589589-------- aPAf--------djonet--------SER--------589721-------- _award--------HLT--------SKY_FOX--------595595-------- AWARD_SW--------J64--------SYXZ--------598598 AWARD?SW--------J256--------syxz-------- AWARD SW--------J262--------shift + syxz-------- AWARD PW--------j332--------TTPTHA-------- AWKWARD--------j322-------- awkward

    AMI BIOS Backdoor Passwords:
    AMI--------BIOS--------PASSWORD--------HEWITT RAND-------- AMI?SW--------AMI_SW--------LKWPETER--------CONDO

    Phoenix BIOS Backdoor Passwords: phoenix--------PHOENIX--------CMOS--------BIOS

    Misc. Common Passwords
    ALFAROME--------BIOSTAR--------biostar--------biosstar-------- CMOS--------cmos--------LKWPETER--------lkwpeter-------- setup--------SETUP--------Syxz--------Wodj
    Other BIOS Passwords by Manufacturer
    Manufacturer--------Password
    VOBIS & IBM-------- merlin
    Dell--------Dell
    Biostar-------- Biostar
    Compaq--------Compaq
    Enox--------xo11nE
    Epox--------central
    Freetech--------Posterie
    IWill--------iwill
    Jetway--------spooml
    Packard Bell--------bell9
    QDI--------QDI
    Siemens--------SKY_FOX
    TMC--------BIGO
    Toshiba--------Toshiba
    Toshiba--------BIOS


    Most Toshiba laptops
    and some desktop systems will bypass the BIOS password if the left shift key is held down during boot
    IBM Aptiva BIOS
    Press both mouse buttons repeatedly during the boot

    Thanks To ALLAH


    Label

    techPowerUp!