<address id="fjh72"></address>

<dfn id="fjh72"><button id="fjh72"></button></dfn>

        <dfn id="fjh72"></dfn>

        Previous Page TOC Next Page



        — 7 —
        TCP/IP Configuration and Administration Basics


        Although TCP/IP works transparently for the user, occasionally communications seem to be slow and TCP/IP is suspected as the cause. Most users are impatient and expect things to happen right away, so delays for any reason lead to frustration. Rather than sit and wait, most users like to be able to verify that a connection to a remote machine is active and a delay is caused by network traffic instead of a system failure. At the least, most users would like to understand why a session is progressing slowly.

        TCP/IP has several utility programs that provide status information and performance statistics. Also available are several debugging programs and options to enable a developer or knowledgeable user to trace a problem. This chapter examines the basic set of these tools. Although TCP/IP is a standard, there are many different implementations of the protocol family. Most versions have the basic toolset discussed today, although some might alter names and output to their own liking.



        All network addresses and machine names in this chapter are chosen at random and do not represent any particular network. Because the network addresses used might correspond to a real network, you should not use them in any experimentation, or you might incur the wrath of a system administrator!

        Not all the commands shown in this chapter are available to regular users (as opposed to system administrators) on all systems, although some system administrators do enable some access to the utilities for checking connection and TCP/IP status. The commands are presented here to show the debugging and diagnostic capabilities available to the TCP/IP user and administrator. The commands are not covered in exhaustive detail but are intended to complete the TCP/IP picture for you. Many of these programs and utilities are seen again later in this book when I set up a sample TCP/IP network.

        Configuration Files


        Several files are involved in the complete specification of network addresses and configuration for TCP/IP. For illustrative purposes, a UNIX system is used as the standard here, although a few other operating systems are mentioned as appropriate. Other operating systems use different filenames, but the purpose of the files is usually the same. You might have to check with your operating system documentation to identify the files used for each purpose.

        UNIX allows comments on every line of these configuration files, as long as they are prefaced by a pound sign (#). If you see this character in your own system's configuration files, you should note that it is not part of an entry. With many operating systems, the default configuration files have many entries, most of which are commented out until the system administrator removes the comments.

        You might not be able to examine the files or run the utilities mentioned in this chapter because of security restrictions. If you edit the configuration files, make sure you do not make any unintentional changes! Make backups of all the files before you make any changes to your systems.

        Symbolic Machine Names: /etc/hosts


        Whenever a symbolic name is used as a target address by an application, there must be some method to resolve that name into a network address. An ASCII file is commonly used with the symbolic names matched to network addresses. This does not apply when the Yellow Pages (YP), Network Information Services (NIS), or the Domain Name Server (DNS) is used; they use their own configuration files.

        On UNIX systems, the file /etc/hosts is used to hold the network addresses, as well as one special connection called the loopback (which is examined later in this chapter in the section titled "The Loopback Driver"). The loopback connection address is usually listed as the machine name loopback or localhost.

        The file /etc/hosts consists of the network address in one column separated from the symbolic name in another. The network addresses can be specified in decimal, octal, or hexadecimal format (although decimal is the most common). More than one symbolic name can be specified on a line by separating the names with either space characters or tabs. The /etc/hosts file can be as long as necessary to contain all the symbolic names used on the local machine; they do not need to be presented in any order. A sample UNIX /etc/hosts file is as follows:

        
        # network host addresses
        
        127.0.0.1            localhost local tpci_server
        
        157.40.40.1          tpci_sco1
        
        157.40.40.2          tpci_sco2
        
        157.40.40.3          tpci_hpws1
        
        157.40.40.0          tpci_server tpci_main tpci
        
        47.80.157.36         bnr.ca BNR bnr
        
        191.13.123.4         kitty_cat
        
        205.150.89.1         roy_maclean big_roy
        
        210.24.47.128        bobs_machine

        As you can see, the file is made up of two columns. The first column gives the IP address of a machine, and the second (separated by one or more whitespace characters) gives the machine's name. If several names can be used to identify the remote machine, they are listed on the same line, separated by whitespace. For example, the remote machine with IP address 205.150.89.1 can be addressed as either roy_maclean or big_roy. Whenever either of those names is used in a command (such as an FTP or Telnet application), this file is used to match to the proper IP address.

        A system or network administrator can update the /etc/hosts file at any time, and changes are effective immediately (so the machine doesn't have to be rebooted to effect the changes). Whenever a symbolic name is specified by a user or an application, the /etc/hosts file is always searched first for a matching name, and the proper address is read from the same line.

        Most TCP/IP implementations on other platforms have a similar type of file to resolve IP addresses from symbolic names. NetManage ChameleonNFS running on a Windows 3.x machine, for example, uses a Host Table to match names and IP addresses. The Host Table, shown in Figure 7.1, is a graphical front-end to a file equivalent to /etc/hosts on a UNIX machine.

        Figure 7.1. ChameleonNFS uses a Host Table to match symbolic names and IP addresses.

        Network Names: /etc/networks


        Networks can be addressed by a symbolic name, just as machines are. To resolve the network names, another file is used that contains the corresponding network address. Typically, this file isn't accessed often, because few users want to address an entire network within their application. The network name resolution file's most common use is to specify the local network's name.

        UNIX systems usually use the file /etc/networks to specify symbolic network names. The format of the file provides a network symbolic name, its network address, and any alias that might be used, in much the same format as the /etc/hosts table is used for specific machines. A sample /etc/networks file is shown here:

        
        # local network names
        
        tpci       146.1          tpci_network  tpci_local
        
        bnr        47.80          BNR bnr.ca
        
        tmn        123.2.21
        
        unique     89.123.23      UNIQUE
        
        sco        132.147        SCO
        
        loopback   127            localhost

        The /etc/networks file layout is a little different from /etc/hosts in that the usual network name is given in the first column, followed by the IP network address, then any aliases.

        The last entry in this example file gives the loopback name. The first entry specifies the local machine name, its network address, and any name variants. Using this file, an application that wanted to reach the network called UNIQUE could use that name and let the operating system resolve it to the IP network address 89.123.23.

        Many implementations of TCP/IP on other platforms don't bother with a network name resolution file like this. Part of the reason is that the /etc/networks file has little use on a UNIX platform, and many single-user operating systems don't require the type of versatility a multiuser operating system like UNIX must supply to an entire network.

        Network Protocols: /etc/protocols


        Protocol numbers are used to identify the transport protocol to the receiving machine to enable proper decoding of the information within the datagram. With TCP/IP, the protocol number is embedded in the Internet Protocol header. A configuration file is usually used to identify all the transport protocols available on the system and their respective protocol numbers.

        UNIX systems use the /etc/protocols file for this purpose. Usually, this file is not modified by the administrator but is maintained by the system and updated automatically as part of the installation procedure when new TCP/IP software or services are added. The /etc/protocols file contains the protocol name, its number, and any alias that might be used for that protocol. A sample /etc/protocols file is shown here:

        
        #
        
        # Internet (IP) protocols
        
        #
        
        ip      0       IP      # internet protocol, pseudo protocol number
        
        icmp    1       ICMP    # internet control message protocol
        
        igmp    2       IGMP    # internet group management protocol
        
        ggp     3       GGP     # gateway-gateway protocol
        
        tcp     6       TCP     # transmission control protocol
        
        egp     8       EGP     # Exterior-Gateway Protocol
        
        pup     12      PUP     # PARC universal packet protocol
        
        udp     17      UDP     # user datagram protocol
        
        hello   63      HELLO   # HELLO Routing Protocol
        
        ospf    89      OSPF    # Open Shortest Path First Routing Protocol

        In this /etc/protocols file, the IP protocol is assigned protocol 0, and TCP is protocol 6. The values in this table should not be changed from their default values except when special network conditions mandate a change. If new TCP/IP services are added to the UNIX system this file resides on, new entries are made to this file by the application installation routine.

        There are usually no equivalents of the /etc/protocols file on other operating systems because they assume that the standard transport number is used for each protocol.

        Network Services: /etc/services


        The final common configuration file used on most UNIX systems identifies the existing network services. As with the /etc/protocols file, this file is not usually modified by an administrator but is maintained by software as it is installed or configured.

        The UNIX network services file is /etc/services. The file is in ASCII format consisting of the service name, a port number, and the protocol type. The port number and protocol type are separated by a slash. The port numbers for TCP/IP usually follow the conventions mentioned in the previous chapters. Any optional service alias names follow after the port numbers. A short extract from a sample /etc/services file (the file is usually quite lengthy) is shown here:

        
        # network services
        
        echo     7/tcp
        
        echo     7/udp
        
        discard  9/tcp   sink  null
        
        discard  9/udp   sink  null
        
        ftp      21/tcp
        
        telnet   23/tcp
        
        smtp     25/tcp   mail mailx
        
        tftp     69/udp
        
        # specific services
        
        login    513/tcp
        
        who      513/udp   whod

        Setting the Host Name


        TCP/IP requires that each machine on the network have an IP address. Usually, each machine also has a unique symbolic name; otherwise, the IP address must be used for all connections to that machine. Most operating systems have a simple program that identifies the name of the local machine. UNIX systems have the utility hostname for this purpose, as well as the uname program, which can give the node name with the command uname -n. The uname utility is usually supported in System V and compatible operating systems only.

        The host name is sometimes saved in a separate file that is read when the operating system starts up, or it can be read from one of the configuration files mentioned previously. The hostname is used by most protocols on the system and by many TCP/IP applications, so it is important for proper system operation. The host name can sometimes be changed by editing the system file that contains the name and then rebooting the machine, although many operating systems provide a utility program to ensure that this process is performed correctly.

        On many UNIX systems, the hostname and uname commands echo back the local machine name, as the following sample session shows:

        
        $ hostname
        
        tpci_sco4.tpci.com
        
        $ uname -n
        
        tpci_sco4

        On the SCO UNIX system used in this example, the hostname command returns the fully qualified domain name, whereas the uname command provides the local machine name only. On a Hewlett-Packard workstation running HP-UX, both commands return only the local machine name. The exact behavior of the hostname and uname commands is therefore quite dependent on the implementation.

        On a Linux system, for example, the hostname command can be used to not only show the current host name setting but also to change it when used with the -S (for set) option. For example, the command

        
        hostname -S willow.tree.com

        changes the local fully qualified domain name to willow.tree.com. Not all versions of Linux support the -S option of the hostname command.

        Most TCP/IP suites for other operating systems use a simpler method of setting the host name. For example, on a Windows 3.x machine the NetManage ChameleonNFS package uses the dialog shown in Figure 7.2 to quickly set the host name.

        Figure 7.2. ChameleonNFS uses this dialog to set the host name.

        Windows NT has TCP/IP services built into the basic distribution. On a Windows NT system, the host name is specified through the Network dialog opened from the Control Panel, as shown in Figure 7.3. Both the Windows NT and Windows 3.x systems enable a change in the host name to be made effective immediately, although a system reboot is recommended to clear all configuration information held in memory.

        Figure 7.3. Setting the host name through the Windows NT Network Control Panel.

        A potential problem can occur when the local machine is multihomed, or based in several networks with a different name and IP address for each network. The single name in the configuration file in such an installation might not provide enough information to permit proper routing over all the connected networks. This problem is seldom encountered, but it does require the system administrator to set the hostname for each network carefully.

        Aside from the simple machine name query shown, the hostname system is a full protocol that enables access to the Network Information Center (NIC) tables to verify addresses and obtain information about the network, gateways, and hosts. It uses TCP port number 101 to connect to the NIC. This type of access is usually restricted to the network administrator.

        The Loopback Driver


        The loopback driver is probably the most fundamental and often-used diagnostic available to an administrator. A loopback driver acts as a virtual circuit, enabling outgoing information to be immediately rerouted back to an input. This enables testing of the machine's circuits by eliminating any external influences, such as the network itself, gateways, or remote machines. By convention, each machine uses the IP address 127.0.0.1 for the loopback driver (also called the localhost IP address).

        Every system should have a loopback driver in place whether the machine is on a network or not. This is because some applications insist on having an IP address they can access to function properly. Many license servers on a UNIX machine have this requirement, for example. Although the need for a loopback driver isn't important for non-networked Windows and similar operating system machines, a loopback driver is always installed with a TCP/IP suite.



        By using a loopback driver, an administrator can be sure that the local machine is working properly and that any failures are from further out. Also, some applications insist on having a loopback driver IP address in order to function properly.

        Loopback drivers are usually embedded as part of the operating system kernel, or sometimes as an add-on utility program. Most multiuser systems employ an embedded loopback driver. UNIX is a good example: within the kernel is a device driver specifically designed to act as a loopback driver. The loopback driver is almost always added automatically when the operating system is installed, but a few UNIX-based operating systems, including several versions of Linux, don't perform this function, and the loopback driver must be added manually by the system administrator. As previously mentioned, several configuration files on the system contain the address of the loopback's connection, such as /etc/hosts.

        Using the loopback driver to reroute the output stream, the network interface card (usually an Ethernet card) is bypassed. The loopback driver is useful for testing TCP/IP software installations, because it immediately shows any problems with the local configuration. This can be done before the machine is physically connected to the network or even before the networking hardware and software are installed. For example, you can use the loopback driver to test your TCP/IP configuration before it is connected to a network by using the ping command with the localhost name or IP address, as the following example shows:

        
        # ping -c5 localhost
        
        PING localhost (127.0.0.1): 56 data bytes
        
        64 bytes from localhost (127.0.0.1): icmp_seq=0 ttl=64 time=10 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0 ms
        
        --- localhost ping statistics ---
        
        5 packets transmitted, 5 packets received, 0% packet loss
        
        round-trip min/avg/max = 0/2/10 ms
        
        # ping -c5 127.0.0.1
        
        PING 127.0.0.1 (127.0.0.1): 56 data bytes
        
        64 bytes from localhost (127.0.0.1): icmp_seq=0 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0 ms
        
        64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0 ms
        
        --- 127.0.0.1 ping statistics ---
        
        5 packets transmitted, 5 packets received, 0% packet loss
        
        round-trip min/avg/max = 0/0/0 ms

        In the preceding example I used the ping command with the -c option to specify five pings, first with the localhost name (which /etc/hosts resolves to the IP address 127.0.0.1) and then with the IP address itself. If either command had failed, it would indicate a problem with either the /etc/hosts file (if the name localhost could not be resolved) or with the TCP/IP installation (if both commands failed).

        Managing ARP


        The arp program manages entries in the system's Address Resolution Protocol (ARP) tables. You may recall that ARP provides the link between the IP address and the underlying physical address. For more information, see Day 2, "TCP/IP and the Internet."

        Using arp (or its equivalent in other operating systems), the administrator can create, modify, or delete entries in the ARP table. Typically, this has to be performed whenever a machine's network address changes (either because of a change in the network hardware or because of a physical move).

        The arp program differs considerably between implementations and is seldom used by users, so examples of its use are left to the operating system's configuration and administration documentation.

        Using ifconfig


        The ifconfig program, or one like it, enables an administrator to activate and deactivate network interfaces, as well as to configure them. Access to the ifconfig program is generally restricted to a superuser or network administrator. Changes to the configuration can usually be made only before the system is fully operational (such as in single-user mode on a UNIX system). When issued, ifconfig essentially instructs the network layer of the kernel to work with the specified network interface by assigning an IP address, then issuing a command to make the interface active on the system. Only when the interface is active can the operating system kernel send and receive data through the interface.

        The ifconfig program enables a network administrator to perform several useful functions on most operating systems:

        Assign a routing method

        Examining all the options available to ifconfig would require several dozen pages. Because this material is rarely used and differs with each implementation, administrators are referred to their operating system documentation. As an example, the Linux version of the ifconfig command uses this general format:

        
        ifconfig interface_type IP_Address

        interface_type is the interface's device driver name (such as lo for loopback, ppp for PPP, and eth for Ethernet), and IP_Address is the IP address used by that interface.

        When used with only the name of an interface, ifconfig usually returns information about the current state of the interface, as shown in the following example. In this example, a query of both an Ethernet card (called ec0) and the loopback driver (called lo0) is performed. The status flags of the interface are followed by the Internet address, the broadcast address, and optionally a network mask, which defines the Internet address used for address comparison when routing.

        
        tpci_sco1-12> ifconfig ec0
        
        ec0: flags=807<UP,BROADCAST,DEBUG,ARP>
        
             inet 146.8.12.15 netmask fffff00 broadcast
        
        146.8.12.15
        
        tpci_sco1-13> ifconfig lo0
        
        lo0: flags=49<UP,LOOPBACK,RUNNING>
        
             inet 127.0.0.1 netmask ff000000

        The preceding example shows that the Ethernet connection ec0 is active (UP), able to transmit broadcasts (BROADCAST), and is in debugging mode (DEBUG). Also, the ARP protocol is active (ARP). You may recall that a broadcast message is sent to all machines on the local network by setting the host ID address to all 1s.

        Once the ifconfig command has been run and an interface is active, many operating systems require the route command to be issued to add or remove routes in the kernel's routing table. This is needed to enable the local machine to find other machines. The general format of the route command on a UNIX or Linux system is this:

        
        route add|del IP_Address

        Either add or del is specified to add or remove the route from the kernel's routing table, and IP_Address is the remote route being affected.

        The current contents of the kernel's routing table can be displayed on some systems by entering the command route by itself on the command line. For example, on a Linux system that is set up only with the loopback driver, you see an output like this:

        
        $ route
        
        Kernel Routing Table
        
        Destination    Gateway   Genmask   Flags  MSS  Window  Use Iface
        
        loopback         *       255.0.0.0   U    1936  0       16  lo

        The important columns are the destination name, which shows the name of the configured target (in this case only loopback), the mask to be used (Genmask), and the interface (Iface, in this case /dev/lo). You can force route to display the IP addresses instead of symbolic names by using the -n option:

        
        $ route -n
        
        Kernel Routing Table
        
        Destination    Gateway   Genmask   Flags  MSS  Window  Use Iface
        
        127.0.0.1         *       255.0.0.0   U    1936  0       16  lo

        Not all UNIX and Linux versions show this type of output from the route command.

        The use of the ifconfig and route programs can be shown in the setup of a Slackware Linux system's Ethernet connection. To make the Ethernet interface active, the ifconfig command is issued with the Ethernet device name (eth0 on a Slackware Linux system) and the local IP address. For example, the command

        
        ifconfig eth0 147.123.20.1

        sets up the local machine with the IP Address 147.123.20.1. The interface is the Ethernet device /dev/eth0. The interface can then be checked with the ifconfig command using the interface name:

        
        $ ifconfig eth0
        
        eth0    Link encap 10Mps: Ethernet Hwaddr
        
            inet addr 147.123.20.1 Bcast 147.123.1.255 Mask 255.255.255.0
        
            UP BROADCAST RUNNING  MTU 1500 Metric 1
        
            RX packets:0 errors:0 dropped:0 overruns:0
        
            TX packets:0 errors:0 dropped:0 overruns:0

        You may notice in the output that the broadcast address was set based on the local machine's IP address. This is used by TCP/IP to access all machines on the local area network at once. The Message Transfer Unit (MTU) size is usually set to the maximum value of 1500 (for Ethernet networks).

        Next, an entry is added to the kernel routing tables to let the kernel know about the local machine's network address. The IP address that is used with the route command is not your local machine's IP address, but that of the network as a whole without the local identifier. To set the entire local are network at once, the -net option of the route command is used. In the case of the IP addresses shown earlier, the command would be this:

        
        route add -net 147.123.20.0

        This adds all the machines on the network identified by the network address 147.123.20 to the kernel's list of accessible machines. An alternative method is to use the /etc/networks file. Once the route has been added to the kernel routing tables, it can be tested with the ping command.

        The inetd Daemon


        The inetd program is a holdover from the early days of TCP/IP UNIX development. When a UNIX machine was started, it would activate TCP/IP and immediately accept connections at its ports, spawning a process for each. This could result in many identical processes, one for each available port.

        To control the processes better, the inetd program was developed to handle the port connections itself, offloading that task from the server. The primary difference is that inetd creates a process for each connection that is established, whereas the server creates a process for each port (which leads to many unused processes).

        On many systems, some of the test programs and status information utilities are run through inetd. Typically, services like echo, discard, and time use inetd.

        The inetd program uses a configuration file usually called /etc/inetd.cfg, /etc/inetd.conf, or /etc/inetd.cf on UNIX systems. An extract of a sample /etc/inetd.cfg file is shown in the following code:

        
        #      @(#)inetd.conf     5.2 Lachman System V STREAMS TCP  source
        
        #
        
        #     System V STREAMS TCP - Release 4.0
        
        ftp       stream     tcp     nowait     NOLUID     /etc/ftpd       ftpd
        
        telnet    stream     tcp     nowait     NOLUID     /etc/telnetd    telnetd
        
        shell     stream     tcp     nowait     NOLUID     /etc/rshd       rshd
        
        login     stream     tcp     nowait     NOLUID     /etc/rlogind    rlogind
        
        exec      stream     tcp     nowait     NOLUID     /etc/rexecd     rexecd
        
        finger    stream     tcp     nowait     nouser     /etc/fingerd    fingerd
        
        comsat    dgram      udp     wait       root       /etc/comsat     comsat
        
        ntalk     dgram      udp     wait       root       /etc/talkd      talkd
        
        echo      stream     tcp     nowait     root       internal
        
        discard   stream     tcp     nowait     root       internal
        
        chargen   stream     tcp     nowait     root       internal
        
        daytime   stream     tcp     nowait     root       internal
        
        time      stream     tcp     nowait     root       internal
        
        echo      dgram      udp     wait       root       internal
        
        discard   dgram      udp     wait       root       internal
        
        chargen   dgram      udp     wait       root       internal
        
        daytime   dgram      udp     wait       root       internal
        
        time      dgram      udp     wait       root       internal

        The columns show the service name (which corresponds to an entry in the services file, such as /etc/services), the socket type (stream, raw, or datagram), the protocol name, whether inetd can accept further connections at the same port immediately (nowait) or must wait for the server to finish (wait), the login that owns the service, the server program name, and any optional parameters needed for the server program.

        The configuration file is read when the server is booted and every time a hang-up signal is received from an application. This enables dynamic changes to the file, because any modifications would be read and register on the next file read.

        The netstat Command


        The netstat program or a similar utility provides comprehensive information about the local system and its TCP/IP implementation. This is the program most commonly used by administrators to quickly diagnose a problem with TCP/IP. The actual information and its format supplied by the netstat utility differs with the operating system implementation, but it usually supplies the following important summaries, each of which is covered in more detail later:

        Protocol statistics

        On some systems, information about the interprocess communications and other protocol stacks might be appended. The information to be displayed can usually be toggled with a command-line option. The output from a typical UNIX installation that uses the netstat command is shown in the next few sections, which discuss netstat and its output in more detail. The output and meaning might be different with other operating systems, but the general purpose of the diagnostic tool remains the same.

        Communications End Points


        The netstat command with no options provides information on all active communications end points. To display all end points (active and passive), netstat uses the -a option.

        The output is formatted into columns showing the protocol (Proto), the amount of data in the receive and send queues (Recv-Q and Send-Q), the local and remote addresses, and the current state of the connection. A truncated sample output is shown here:

        
        $ netstat -a
        
        Active Internet connections (including servers)
        
        Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
        
        ip         0      0  *.*                    *.*
        
        tcp        0   2124  tpci.login             merlin.1034            ESTABL.
        
        tcp        0      0  tpci.1034              prudie.login           ESTABL.
        
        tcp    11212      0  tpci.1035              treijs.1036            ESTABL.
        
        tcp        0      0  tpci.1021              reboc.1024             TIME_WAIT
        
        tcp        0      0  *.1028                 *.*                    LISTEN
        
        tcp        0      0  *.*                    *.*                    CLOSED
        
        tcp        0      0  *.6000                 *.*                    LISTEN
        
        tcp        0      0  *.listen               *.*                    LISTEN
        
        tcp        0      0  *.1024                 *.*                    LISTEN
        
        tcp        0      0  *.sunrpc               *.*                    LISTEN
        
        tcp        0      0  *.smtp                 *.*                    LISTEN
        
        tcp        0      0  *.time                 *.*                    LISTEN
        
        tcp        0      0  *.echo                 *.*                    LISTEN
        
        tcp        0      0  *.finger               *.*                    LISTEN
        
        tcp        0      0  *.exec                 *.*                    LISTEN
        
        tcp        0      0  *.telnet               *.*                    LISTEN
        
        tcp        0      0  *.ftp                  *.*                    LISTEN
        
        tcp        0      0  *.*                    *.*                    CLOSED
        
        udp        0      0  *.60000                *.*
        
        udp        0      0  *.177                  *.*
        
        udp        0      0  *.1039                 *.*
        
        udp        0      0  *.1038                 *.*
        
        udp        0      0  localhost.1036         localhost.syslog
        
        udp        0      0  *.1034                 *.*
        
        udp        0      0  *.*                    *.*
        
        udp        0      0  *.1027                 *.*
        
        udp        0      0  *.1026                 *.*
        
        udp        0      0  *.sunrpc               *.*
        
        udp        0      0  *.1025                 *.*
        
        udp        0      0  *.time                 *.*
        
        udp        0      0  *.daytime              *.*
        
        udp        0      0  *.chargen              *.*
        
        udp        0      0  *.route                *.*
        
        udp        0      0  *.*                    *.*


        The output shown for the netstat commands in this section is from an SCO UNIX system. Each implementation of netstat is slightly different, so the output columns might change, and different options might be needed to obtain each type of report. Check with your system documentation for more details about your netstat implementation.

        In the preceding example, there are three active TCP connections, as identified by the state ESTABL. One has data being sent (as shown in the Send-Q column), and another has incoming data in the queue. The network names and port numbers of the connection ends are shown whenever possible. An asterisk (*) means there is no end point associated with that address yet.

        One connection is waiting to be hung up, identified by TIME_WAIT in the state column. After 30 seconds, these sessions are terminated and the connection freed. Any row with LISTEN as the state has no connection at the moment, and is waiting. There is no state column for UDP sessions because they do not have an end-to-end connection (as discussed on Day 5, "Gateway and Routing Protocols"). A CLOSED entry in the output shows that the connection is closed but hasn’t switched over to LISTEN yet.

        Network Interface Statistics


        The behavior of the network interface (such as the network interface card) can be determined with the -i option to the netstat command. This information quickly shows an administrator whether there are major problems with the network connection.

        The netstat -i command displays the name of the interface, the maximum number of characters a packet can contain (Mtu), the network and host addresses or names, the number of input packets (Ipkts), input errors (Ierrs), output packets (Opkts), output errors (Oerrs), and number of collisions (Collis) experienced in the current sampling session. The collisions column has relevance only for a networking system that enables packet collisions, such as Ethernet. A sample output from a netstat -i command is shown here:

        
        $ netstat -i
        
        Name   Mtu   Network     Address       Ipkts   Ierrs Opkts   Oerrs Collis
        
        ec0    1500  tpci        merlin         34     0     125     0     0
        
        lan0   1497  47.80       tpci_hpws4  11625     0   11625     0     0
        
        lo0    8232  loopback    localhost     206     0     206     0     0

        An administrator can obtain more specific information about one interface by using the -I option with a device name and a time interval, specified in seconds, such as netstat -I ec0 30 to obtain specific information about the behavior of the ec0 (Ethernet) interface over the last 30 seconds.

        Data Buffers


        Information about the data buffers can be obtained with the netstat command's -m option. Monitoring the behavior of the buffers is important, because they directly impact the performance of TCP/IP. The output of the netstat -m command differs depending on the version of UNIX in use, reflecting the different implementations of the TCP/IP code.

        The netstat -m command output from a System V-based UNIX version is shown in the following code example. Entries are provided for the streamhead, queue, message descriptor table (mblks), data descriptor table (dblks), and the different classes of data descriptor tables. The columns show the number of blocks configured (config) and currently allocated (alloc), the number of columns free (free), the total number of blocks in use (total), the maximum number of blocks that were in use at one time (max), and the number of times a block was not available (fail).

        
        $ netstat -m
        
        streams allocation:
        
                             config   alloc    free   total     max    fail
        
        streams                 292      79     213     233      80       0
        
        queues                 1424     362    1062     516     368       0
        
        mblks                  5067     196    4871    3957     206       0
        
        dblks                  4054     196    3858    3957     206       0
        
        class 0,    4 bytes     652      50     602     489      53       0
        
        class 1,   16 bytes     652       2     650     408       4       0
        
        class 2,   64 bytes     768       6     762    2720      14       0
        
        class 3,  128 bytes     872     105     767     226     107       0
        
        class 4,  256 bytes     548      21     527      36      22       0
        
        class 5,  512 bytes     324      12     312      32      13       0
        
        class 6, 1024 bytes     107       0     107       1       1       0
        
        class 7, 2048 bytes      90       0      90       7       1       0
        
        class 8, 4096 bytes      41       0      41      38       1       0
        
        total configured streams memory: 1166.73KB
        
        streams memory in use: 44.78KB
        
        maximum streams memory used: 58.57KB

        For the administrator, the failure column is important. It should always show 0s. If a larger number appears, that resource has been overtaxed and the number of blocks assigned to that resource should be increased (followed by a kernel rebuild and a reboot of the system to effect the changes).

        Routing Table Information


        Routing tables are continually updated to reflect connections to other machines. To obtain information about the routing tables, the netstat -r and -rs options are used. (The latter generates statistics about the routing tables.)

        The output from netstat -r and netstat -rs commands are shown in the following code example. The columns show the destination machine, the address of the gateway to be used, a flag to show whether the route is active (U) and whether it leads to a gateway or a machine (H for host), a reference counter (Refs) that specifies how many active connections can use that route simultaneously, the number of packets that have been sent over the route (Use), and the interface name.

        
        $ netstat -r
        
        Routing tables
        
        Destination      Gateway            Flags    Refs     Use  Interface
        
        localhost        localhost          UH          4      10  lo0
        
        merlin           localhost          UH          2       2  ec0
        
        treijs           hoytgate           UG          0       0  ec0
        
        47.80            bcarh736           U          12   21029  lan0
        
        tpci sco4-57> netstat -rs
        
        routing:
        
                      0 bad routing redirects
        
                      0 dynamically created routes
        
                      0 new gateways found unreachable
        
                      2 destinations found unreachable
        
                    122 uses of a wildcard route
        
                      0 routes marked doutbful
        
                      0 routes cleared of being doubtful
        
                      0 routes deleted

        Protocol Statistics


        Statistics about the overall behavior of network protocols can be obtained with the netstat -s command. This usually provides summaries for IP, ICMP, TCP, and UDP. The output from this command is useful for determining where an error in a received packet was located, which then leads the user to isolate whether that error was caused by a software or network problem.

        Issuing the netstat -s command provides a verbose output. A sample output is shown in the following code. The entries are self-explanatory.

        
        tpci_sco4-67> netstat -s
        
        ip:
        
             183309 total packets received
        
             0 bad header checksums
        
             0 with size smaller than minimum
        
             0 with data size < data length
        
             0 with header length < data size
        
             0 with data length < header length
        
             0 with unknown protocol
        
             13477 fragments received
        
             0 fragments dropped (dup or out of space)
        
             0 fragments dropped after timeout
        
             0 packets reassembled
        
             0 packets forwarded
        
             0 packets not forwardable
        
             75 no routes
        
             0 redirects sent
        
             0 system errors during input
        
             309 packets delivered
        
             309 total packets sent
        
             0 system errors during output
        
             0 packets fragmented
        
             0 packets not fragmentable
        
             0 fragments created
        
        icmp:
        
             1768 calls to icmp_error
        
             0 errors not generated because old message was icmp
        
             Output histogram:
        
                  destination unreachable: 136
        
             0 messages with bad code fields
        
             0 messages < minimum length
        
             0 bad checksums
        
             0 messages with bad length
        
             Input histogram:
        
                  destination unreachable: 68
        
             0 message responses generated
        
             68 messages received
        
             68 messages sent
        
             0 system errors during output
        
        tcp:
        
            9019 packets sent
        
                      6464 data packets (1137192 bytes)
        
                  4 data packets (4218 bytes) retransmitted
        
                  1670 ack-only packets (918 delayed)
        
                  0 URG only packets
        
                  0 window probe packets
        
                  163 window update packets
        
                  718 control packets
        
                       24 resets
        
             9693 packets received
        
                  4927 acks (for 74637 bytes)
        
                  37 duplicate acks
        
                  0 acks for unsent data
        
                  5333 packets (1405271 bytes) received in-sequence
        
                  23 completely duplicate packets (28534 bytes)
        
                  0 packets with some dup. data (0 bytes duped)
        
                  38 out-of-order packets (5876 bytes)
        
                  0 packets (0 bytes) of data after window
        
                  0 window probes
        
                  134 window update packets
        
                  0 packets received after close
        
                  0 discarded for bad checksums
        
                  0 discarded for bad header offset fields
        
                  0 discarded because packet too short
        
                  0 system errors encountered during processing
        
             224 connection requests
        
             130 connection accepts
        
             687 connections established (including accepts)
        
             655 connections closed (including 0 drops)
        
             24 embryonic connections dropped
        
             0 failed connect and accept requests
        
             0 resets received while established
        
             5519 segments updated rtt (of 5624 attempts)
        
             5 retransmit timeouts
        
                  0 connections dropped by rexmit timeout
        
             0 persist timeouts
        
             0 keepalive timeouts
        
                  0 keepalive probes sent
        
                  0 connections dropped by keepalive
        
             0 connections lingered
        
                  0 linger timers expired
        
                  0 linger timers cancelled
        
                  0 linger timers aborted by signal
        
        udp:
        
             0 incomplete headers
        
             0 bad data length fields
        
             0 bad checksums
        
             68 bad ports
        
             125 input packets delivered
        
             0 system errors during input
        
             268 packets sent

        The ping Utility


        The ping (Packet Internet Groper) utility is used to query another system to ensure that a connection is still active. (You may recall the ruptime utility from yesterday, which also does this. However, ruptime waits five minutes before trying the remote, and you may want to know right away if the connection is active.) The ping command is available on most operating systems that implement TCP/IP.

        The ping program operates by sending out an Internet Control Message Protocol (ICMP) echo request. If the destination machine's IP software receives the ICMP request, it issues an echo reply immediately. The sending machine continues to send an echo request until the ping program is terminated with a break sequence (Ctrl+C or the Delete key in UNIX). After termination, ping displays a set of statistics. A sample ping session is shown here:

        
        $ ping merlin
        
        PING merlin: 64 data bytes
        
        64 bytes from 142.12.130.12: icmp_seq=0.  time=20.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=1.  time=10.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=2.  time=10.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=3.  time=20.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=4.  time=10.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=5.  time=10.  ms
        
        64 bytes from 142.12.130.12: icmp_seq=6.  time=10.  ms
        
        --- merling PING Statistics ---
        
        7 packets transmitted, 7 packets received, 0% packet loss
        
        round-trip (ms) min/avg/max = 10/12/20

        An alternate method to invoke ping is to provide the number of times you want it to query the remote. Also, you could provide a packet length as a test. The following example instructs ping to use 256 data byte packets and try five times. Using ping to send large packets is one method of determining the network's behavior with large packet sizes, especially when fragmentation must occur. The ping program is also useful for monitoring response times of the network, by observing the reply time on packets sent as the network load (or the machine load) changes. This information can be very useful in optimization of TCP/IP.

        
        $ ping merlin 256 5
        
        PING merlin: 256 data bytes
        
        256 bytes from 142.12.130.12: icmp_seq=0.  time=20.  ms
        
        256 bytes from 142.12.130.12: icmp_seq=1.  time=10.  ms
        
        256 bytes from 142.12.130.12: icmp_seq=2.  time=10.  ms
        
        256 bytes from 142.12.130.12: icmp_seq=3.  time=20.  ms
        
        256 bytes from 142.12.130.12: icmp_seq=4.  time=10.  ms
        
        --- merling PING Statistics ---
        
        5 packets transmitted, 5 packets received, 0% packet loss
        
        round-trip (ms) min/avg/max = 10/13/20

        Some older implementations of ping simply reply with a message that the system at the other end is active. (The message is of the form X is alive.) To obtain the verbose messages shown previously, the -s option must be used.

        The ping program is useful for diagnostics because it provides four important pieces of information: whether the TCP/IP software is functioning correctly; whether a local network device can be addressed (validating its address); whether a remote machine can be accessed (again validating the address and testing the routing); and verifying the software on the remote machine.

        Most non-UNIX TCP/IP implementations provide ping utilities as part of their suite. For example, Figure 7.4 shows the NetManage ChameleonNFS ping utility. The Chameleon ping sends only a single ICMP packet instead of a continuous stream, but is useful for verifying that a remote machine is responding.

        Figure 7.4. ChameleonNFS uses a ping utility to send a single packet.

        Windows 95 has a ping utility built into the distribution software, but it is DOS-based and doesn't use the Windows 95 GUI. Figure 7.5 shows the Windows 95 ping utility used to ping another machine on the network.

        Figure 7.5. The Windows 95 ping utility is DOS-based.

        Tracing a Connection


        There is a tracing option built into TCP/IP. When simpler methods have failed, this option can be used to trace a problem. To activate the trace, a system call is sent to the end point that turns on a flag. Most TCP/IP implementations enable the tracing option to be turned on from the command line using the -d (debug) option. When tracing is turned on, all activities are echoed to a buffer or to the screen, depending on the system configuration.

        The output from the TCP/IP tracing option is examined using the program trpt (trace report). A specific connection can be specified, or all behavior passing through TCP/IP can be displayed. The output from trpt is verbose and of little interest to most users.

        Summary


        This chapter has shown you the basic administration programs used with TCP/IP, as well as the configuration files that are necessary in order to use symbolic names. Although this information is not likely to be used by most users, knowing the available tools and the type of diagnostics that can be produced is useful in better understanding TCP/IP.

        Q&A


        All the TCP/IP protocols available to you are listed in a system configuration file. Which file is this?

        All TCP/IP protocols are listed in /etc/ protocols. The file lists the protocol name and the corresponding protocol number.

        What is a loopback driver used for?

        The loopback driver is a virtual circuit within the host machine, avoiding all contact with the physical network itself. The most common use of a loopback driver is as a diagnostic. By sending data to the loopback driver, you can make sure the protocols are working correctly on your machine. Without this capability, it would be difficult to separate network problems and software configuration problems.

        What does the following excerpt from a netstat -a command tell you?

        This extract shows there are two established TCP connections (to merlin.1034 and treijs.1036), one of which is sending information and the other receiving. The connection to reboc.1024 is waiting to hang up. There are two ports waiting for a connection.

        What is the utility ping used for?

        The ping utility is used to query another system. It sends an ICMP message to the remote and waits for a reply. The ping command is very useful for testing connections.

        What command gives you overall statistics about the network protocols running on your system?

        One of the best summaries is obtained with the netstat -s command.

        Previous Page Page Top TOC Next Page

        <address id="fjh72"></address>

        <dfn id="fjh72"><button id="fjh72"></button></dfn>

              <dfn id="fjh72"></dfn>
              亚州国产色婷婷 | 黄色a片在线免费观看 | 日韩欧美一二三 | 黄色片免费视频网站 | 操你逼 | 青青草原在线视频 | 欧美成人另类 | 特级黄色片 | 亚洲高清V| 中文字幕一级片 | 天天干天天色天天射 | 国产精品久久久久久亚洲毛片 | 无码内射网 | 韩国欧美一区 | 国产不卡免费视频 | 色综合久| 69精品人人人人人 | 久久大香蕉精 | 高清精品在线 | 国产性爱电影一区二区三区 | 精品久久福利视频 | 北条麻妃无码一区三区 | 国产午夜福利 | 亚洲AV无码久久精品蜜桃小说 | 福利黄色| 国产免费AV在线观看 | 亚洲乱伦网站 | 国产爆乳一区二区 | 久久久久99精品成人片毛片 | 国产强 暴 疼 哭 处 女 国产肉体ⅩXXX137大胆 | 亚洲图片乱伦小说 | 日本三级片天天干 | 波多野结衣一区二区三区中文字幕 | 在线看黄片视频 | 亚洲精品一级二级 | 黄色片XXX| 国产午夜视频在线观看 | 麻豆国产一区二区三区四区 | 2019国产在线自内拍视频 | 中国毛片在线 | 三级片人人网址 | 麻豆成人在线视频 | 亚洲一二三区电影在线 | 欧美性交免费网站 | 午夜乱伦中文字幕 | 国产午夜一区二区 | 成人免费一级毛片在线播放视频 | 夜夜躁狠狠躁日日躁麻豆老人 | 人人摸摸人人 | 日韩人妻系列 | 韩国精品二区 | 欧美一区二区三区系列电影 | 亚洲精品字幕久久久久 | 成人网大香蕉视频 | 蜜芽成人社区 | Safari帮我打开日韩av三级片 | 国产豆花在线综合 | 欧美热线视频高潮 | 亚洲天堂视频在线免费观看 | 国产区99精品 | 操逼内射网站 | 爱搞逼综合 | 欧美一级A片在线观看 | 99视频在线播放观看精品 | 韩国啪啪免费视频 | 日本不卡在线 | 亚洲精品v | 黑人巨粗进入疼哭A片 | 国产精品在线99热 | 国产激情原创 | 艹骚逼| 欧美精品色图 | 久久骚逼视频 | 欧美性爱精品在线 | 大香蕉操操网 | 电影一区二区一级A片 | 国产精品久久久久久久久咪咪 | 五月天婷婷丁香 | 操阴视频| 一二三av在线 | www.人人色 | 国产精品国产三级国产在线观看 | 黄色天天干 | 成人叉B网 | 91在线无精精品秘 白丝 | 亚洲五码高清在线观看 | 有码中文 | 日韩一级无码毛片 | 偷拍网址大全 | 大香蕉尹人在看 | 色护士无遮挡精品 | 日韩潮吹 | 日韩精品免费在线观看 | 色婷婷成人做爰A片免费看网站 | 男人天堂色天堂 | 成人性爱免费网站 | 国产成人免费观看 | 成人AV中文字幕 | 在线播放神尾舞视频 | 欧美,日韩,中文 | 操日本女人视频 | 裸体美女黄网 | 亚洲一级免费在线观看 | 国内精品无码 | 免费看A片秘 免费 | 五月花在线视频观看 | 日韩熟妇| 欧美操比在线视频 | 一级黄色A片免费看 | AV国产在线观看 | 欧美中文字幕第一页 | 国产午夜在线一区二区三区 | www.日韩乱码 | 操少妇| 精品无码色哟哟一区 | 一区二区三区四区五区精品无码 | 久久夜色精品国产欧美乱极品 | 中文字幕无码不卡 | 日韩黄色视屏 | renrense在线观看 | 爱干Av爱干Av | 亚洲一级视频在线观看 | 玖玖热这里只有精品 | 中文字幕无码Av在线看 | 欧美成人A片Ⅴ一区二区三区动漫 | 成人超碰在线 | 特级茜茜人体444WWW | 逼逼精品| 无码精品人妻一区二区三蜜桃 | 欧美高清无码 | 人妻在线观看 | A片在线播放网站 | 一级乱伦视频 | 97操逼网 | 韩国美女操逼 | 欧美日韩精品 | 青青草2017在线视频 | 亚洲欧美在线成人 | 伊人久久激情 | 欧美精品在线视频 | 欧美高清中文字幕精品日韩不卡国产在线 | 国产一级性爱电影 | 黄色插逼网| 亚洲性爱在线播放 | 国产亚洲内射 | 伊人久久熟女 | 少妇愉情理伦片BD在线播放 | 成人毛片女人18 | 91网站18禁 | 中文字幕一级黄色大片 | 被操的视频在线观看免费网站 | 在线观看色天堂 | 另类亚洲色图 | 大香蕉伊人在线综合 | 婷婷五月高清国产 | 美女被大鸡吧操视频网站在线播放 | 成人超碰人人操 | 婷婷亚洲天堂 | 黄色照片视频 | 日本一级A片 | 蜜乳一区二区三区精品 | 丁香五月婷婷啪啪啪 | 另类TS人妖一区二区三区牧瑶 | av先锋成人网站 h片免费在线观看 | 亚洲www啪成人一区二区麻豆 | 在线观看你懂的网站 | 麻豆一区二区在线 | 高清无码毛片网站 | 天天拍天天操 | 欧美艹逼视频 | 中文人妻无码一区二区三区不卡 | 天堂资源网在线观看 | 人人操人人摸人人干 | 欧美色道 | 亚洲国产精品午夜福利 | 中国免费毛片 | 无码中文字幕第一页 | 国产v夜色观看 | 亚洲欧洲中文字幕 | 日韩高清毛片 | 影音先锋亚洲无码AV | 91成人高清 | 天堂AV一区二区 | 欧美综合性爱网 | 亚洲黄色免费电影 | 最近日本中文字幕中文翻译歌词 | 九哥艹逼网 | 就操在线观看免费视频 | 大香蕉伊人在线看 | 久草手机视频在线观看 | 色婷婷精品国产免费 | 干骚逼网 | 日本无码一区二区三三 | 亚洲日韩国产AV无码无码精品 | 亚洲黄色网页在线观看 | 国产免费黄 | 不卡不卡不卡不卡不卡国产精品视频 | 亚洲无码不卡 | 亚洲小黄片| 久久久久黄色片 | 外国女人操逼视频网址 | 东京热AV中文字幕 | 欧美操在线观看视频 | 亚洲欧洲视频在线观看 | 手机AV网站在线观看 | 把美女弄到高潮不断免费视频网站观看 | 国产精品麻豆果冻莉莉 | 青青草视频免费在线 | 毛片A级成人片 | 国产肉体XXX137大胆 | 伊人网成人 | 国产麻豆一区二区 | 12一15女人a毛片 | 午夜欧美精品久久久久久久 | 久久99草 | 看黄色视频在线进 | 日本一级黄 | 啪啪啪网站 | 婷婷五月天小说 | 北条麻妃一区在线 | 天天干天天爽视频 | 欧美激情爱爱网址 | 亚洲搞清视频日本 | 国产性无码 | 美女高潮喷水视频 | 操学生妹在线 | 猛操 女神 | 男人的天堂成人片 | 日本色情在线视频 | 51妺妺嘿嘿午夜成人A片 | 日日夜夜嗨 | 天天色天天干天天狠 | 激情五月天网址 | 国产男女日bb的视频 | 欧美77777 | 成人四区免费 | 热久久3 热热av | 超碰乱伦小说 | 青青草无码视频免费播放 | 手机免费在线看片网址av | 吴梦梦一区二区在线观看 | huangse网站免费在线观看 | 视频一区二区中文字幕 | 丁香色情五月综合网站 | 欧美一级做一级a 做片性视频 | 精品三级 | 大香蕉高清影院 | 毛片黄 | 欧美成人精品高清视频在线观看 | 激情婷婷开心五月丁香 | 国产精品国产精品 | 日韩一级片在线看 | 小宝自拍偷拍视频观看 | 亚洲无码大全 | 超碰97ol | 亚洲va欧美ⅴa在线 | 91人妻无码成人精品一区二区三区 | 大香蕉国产三级 | 无码视频免费在线播放 | 日韩口爆 | 亚洲一线在线 | 欧美日韩逼| 久久久久久久久久成人永久免费视频 | 国产视频福利导航 | 艹艹视频| 日韩黄色电影院 | 天堂成人网站 | 久久国产精品久久 | 色婷婷在线观看视频 | 精品国产91久久久久久小树林 | 乱伦免费视频中文字幕 | 色秘 乱码一区二区三区在线男奴 | 黑人3 P操B视频 | 五月天六月色婷婷在线 | 日本道黄色 | 欧美精品久久久 | 一级黄片乱伦 | 黄片视频a | 有限公司尻屄视频网站 | 日本在线不卡一区 | 美女自慰网站免费 | 特黄AAAAAAAAA视频免费 | 欧美操B视频 | 中文字字幕在线中文乱码 | 成人黄片视频 | 亚洲综合免费观看 | 99热手机在线精品 | 夜夜操综合网二区 | 精品少妇无码视频 | 77777亚洲 | 日韩国产在线观看 | 香蕉久久成人国产精品 | 亚欧洲精品在线视频免费观看 | 日韩A级| 操美女骚逼逼影是 | 三级片大香蕉 | 国产精品久久久久久精 | 国人免费无码区久久久免费 | 亚洲偷 | 欧美乱妇日本无乱码特黄大片 | 欧美性爱在线播放 | 九九九九在免费 | 久久在线视频黄色 | 国产婷婷色一区二区在线观看 | 一级丰满视频 | 另类激情网 | av在线资源 | 日韩人妻久久亚洲 | 色逼无码 | 成人偷拍自拍在线观看 | 日日做人人爱 | 樱桃视频一区二区 | 久久综合久色欧美综合狠狠 | 91麻豆一区二区 | 日韩无码高清电影 | 艹骚逼视频 | 超碰天堂 | 亚洲日本中文字幕在线观看 | 成人淫色| 肏逼视频观看 | 国模美心| 亚洲精品第一页 | 日本成人电影三区 | 视频一区免费 | 高清无码爱爱 | 国内黄色毛片 | 成人黄色视频网站免费观看 | 久久成人免费视频 | 婷婷五月天黄色 | 国产成人大香蕉在线免费 | 吴梦梦精品一区二区三区观看 | 五月婷婷操逼网 | 无码一区二区免费 | 免费AⅤ视频 | 五月天乱伦网 | 一区二区三区四区在线 | 91在线无码精品秘 豆花 | 国产无码日韩 | 国产女人18毛片水真多果冻 | 色94色 欧美 setu | 久久人人妻人人做人人玩精品 | 免费一级网站 | 大香蕉伊人网站 | 影视先锋成人 | 国产精品久久精品 | 成人男人的天堂视频在线观看 | 日本免费成人A | 91精品国产乱码久久久久 | 国产综合久久 | 精品国产亚洲AV | 国产精品日韩 | 色色香蕉视频 | 午夜福利男女 | 天天A片| 狼友视频在线观看 | 欧美国产成人精品一区二区三区 | 国产人妻无码一区二区三区不卡 | 午夜视频一区二区三区 | 影视先锋成人 | 成人免费毛片 嘿嘿连载视频 | 国产久久在线播放 | 欧美大吊在线网站 | 中文字幕三级视频 | 日韩福利视频 | 少妇三角的黑森林的淫 | 国产高清视频 | 大胆日韩成人黄色电影在线观看 | 青青色在线视频 | 国产电影无码 | 北条麻妃亚洲一区在线观看 | 久久国产乱子伦精品一区二区 | 无码高清毛片在线观看 | 婷婷黄色伊人 | 黄色的网站在线 | 青娱乐中文无码在线观看 | 大香蕉伊人免费在线观看 | 一级片官网 | 97超碰网 | 中国四川一级大毛片a一 | 特级AV免费在线观看 | 黄色毛片在线观看 | 亚洲 精品一区二区三区 | 中国精品黄色视频 | 日本黄色免费看 | 国产在线日韩 | 久久丫精品久久丫 | 奇米影视7777狠狠狠狠视频 | 久久国产精品毛片 | 亚洲中文幕在线观看 | 青青操在线视频 | 手机免费在线观看AV网站 | 一级黄色录像免费看 | 中文字幕成人乱码熟女 | 99久久久国产精品免费动 | 在线a黄网站 | 欧美大屌一区 | 淫秽视频在线 | 青草视频在线播放 | 无码免费一区二区三区 | 丰满人妻一区=区三区在线视频53 狠狠狠狠狠狠狠狠狠狠狠狠狠狠狠狠 | 婷婷深爱五月丁香网 | 欧美三级高清在线观看 | 奇米四色狠狠干 | 久久久福利 | 久久婷婷丁香五月天 | 成人无码HAV在线看免费 | 国产三级片自拍 | 国产精品无码午夜福利 | 麻豆三级电影 | 翔田千里全部A片 | 点.免费观看毛片网站 | 青娱乐自拍 | 校园春色五月天 | 国内精品久久久久久久久变脸 | 岛国在线不卡 | 伊人色香蕉 | 乱轮视频网站 | 91伦理视频 | 亚洲激情四射婷婷 | 精品九九九九 | 臭小子啊轻点灬太粗太长了的视频 | 免费看的黄色电影一级片 | 无码 人妻 精 | 任我操在线视频 | 美女网站色 | 亚洲成人福利导航 | 精品视频免费在线观看 | 欧美xxx亚洲 | 欧美成人精品无 | 午夜精品久久久久久久91蜜桃 | 国产黄片一区二区三区 | 欧美日韩亚洲性爱 | 欧美A片久久 | 91久久久久久久久久免费视频 | 97人人爽人人爽人人爽人人爽 | 欧美一级特黄色aa大片 | A片电影院 | 天天色官网 | 操在线综合 | 超碰人人操国产 | 五月天六月色婷婷在线 | 国产高清无码在线视频 | 中文操逼 | 欧美乱伦一区 | 一级黄视频 | 日本成人网址 | 久久精品99久久久久久 | 最新中文字幕在线 | 亚洲理论视频 | 青青草免费手机视频 | 高清av蜜桃久久久 | 亚洲第一永久网站 | 国产高清无码视频在线播放 | 影音先锋AV一区二区三区 | 呜呜视频网站在线观看 | 还小没发育嫩紧在线播放 | 青青草在线无码 | 色播五月激情 | 日日干天天干夜夜操 | 黄色视频免费观看大全 | 开心情色站 | 女人荫蒂被添高潮视频 | 国产激情无码视频网站 | 操综合天天干 | 久久久精品少妇视频 | 日韩免费在线视频 | 中文在线日韩 | 欧美精品系列 | 干干网| 欧美手机在线 | 日本天堂在线视频 | 一级日韩毛片 | 草逼精品 | 五月色婷婷综合 | 日韩精品免费在线观看 | 看无码一区二区三区 | 最新亚洲国产黄色视频在线观看 | 亚洲精品女主播麻豆久久91 | 色五月婷婷视频网 | 日韩一级无码免费视频 | 日本处女学生妺一级片 | 深爱激情婷婷网 | 99r在线免费观看 | 苍井空一级婬片A片在哪看 | 国产精品福利高清 | 国产无码人妻 | 久久国产影院 | 亚洲操逼视 | 国产成人精品一区二区 | 美女脱光色情视频网站亚洲 | 精品av在线观看 精品久久中文字幕 | 91中文字日产乱幕4区 | 最会潮吹的小护士露比来了上篇顶级色影 | 欧美一级特黄A片免费 | 天天操天天拍天天干 | 亚洲经品无码 | 国产乱码精品1区2区3区 | 无码视频高清在线不卡 | 无码视频黄色 | 亚洲在线高清 | 黄色视频免费在线观看 | 欧美日韩无码视频 | 学生妺毛片视频 | 伊人五月婷婷丁香大香蕉 | 婷婷丁香性爱 | 欧美大生殖器在线观看 | 91在线视频免费观看 | 曰批视频免费 | 91视频久久久久久久久久久久 | 女人18片毛片120分钟免费观看 | 五一黄片视频 | 尤物精品 | 五月丁香俺也去国产 | 日韩一级a免费在线视频 | 日韩高清无码免费观看 | 亚洲精品乱码久久久久久久久久久久 | 性交动态图黄色视频在线观看 | 亚洲无码高清片在线 | 国内毛片毛片毛片毛片毛片毛片毛片毛片 | 日韩成人电影在线免费 | 国产精品人妻人伦a 6 2v久软件 特级西西444www无码视频免费看 | 国产成人一区二区 | 成人精品999 | 蜜芽亚洲无码 | 日本A片一级 | 午夜无码中文字幕 | 亚洲性爱AV在线观看 | 国产亚洲大屌视频 | 日韩三级在线免费观看 | 一级A级黄色电影 | zzjizzji | 豆花无码短视频在线观看网址 | 无码区一区 | A一级黄色片 | 国产91白丝jk无套进入在线播放 | 四虎日韩 | 国产黄色小说 | 欧美成人精品激情在线视频 | 日韩一区二区精品视频 | 玖玖99视频 | 欧美成人性爱无码 | 91性爱免费视频 | 香蕉人妻AV久久久久天天 | 囯产精品久久久久久久久久久久久久 | 无性码一区二区 | 中文在线а√在线8 | 无码人妻久久一区二区三区蜜桃 | 日韩人妻一区二区三区蜜桃视频 | 男女操逼高清视频 | 熟妇一区| 最新国产精品视频 | 亚洲色图欧美色图在线观看 | 久久免费精品一区二区三区 | 手机天堂手机板 | 天天艹在线观看 | 艹逼欧美变态 | 特污的免费网站中文字幕 | 1234精品视频在线观看 | 91av影视 | 91人妻人人爽人人爽 | 翔田千里在线视频 | 日本三级片网站 | 凹凸在线视频 | 色综合系列婷婷 | 操草操| 淫色人妻视频 | a 在线 | 九点操逼网| 日韩无在线 | 被操视频网站 | 大香蕉久久依人网站 | 夜夜撸天天 | 亚洲AV免费看 | 欧美色图在线看 | 五月天激情啪啪 | 乌克兰一级操逼片 | 午夜福利视频一区二区 | 黄色成人网站在线免费观看视频 | 国产一级a毛一级a做免费图片 | 色婷视频| 特级西西444www大胆免费看 | 亚洲爱爱网站 | 天天澡天天爽爽天干天 | 青青草成人视频在线观看 | 欧美夫妻天天 | 免费无码在线播放 | 美女扒开嫩嫩的尿口让人桶 | 国产精品久久久久久久 | 日韩免费网站 | 国产精品久久久精品 | 一级a一级a爱片免费 | 欧美午夜理伦三级在线观看 | www.日本特黄24小时免费 | 欧美操逼虐待视频网 | 久久99久久99久久99国内少妇精品 | 免费一级片电影网站 | 国产一区二区三区 | 国产乱╳╳aⅴ老师 | 婷婷色图 | 日韩毛片儿 | 国产激情小| 大香蕉伊仁久久情色 | 无码视频免费在线观看 | 一二三无码 | 奇米7777狠狠狠狠视频 | 91福利网在线观看 | 国产女人水真多18毛片18精品 | 亚洲内射视频 | 肏屄在线视频 | 免费一级特黄特色大片 | 欧美日韩丁香五月天色网 | 先锋影音三级 | 国产操逼视频大全 | 欧美三级片网址 | 中文字幕在线免费播放 | 91人妻天天操天天干 | 欧美性网址 | 国产在线观看无码免费视频 | 羽月希影音先锋软体 | 亚洲小视频在线播放 | 青草网在线观看 | 爱草在线视频 | 国产久视频 | 国产色婷婷久久 | 国产精品久久久久久久久久久久久久久久 | 伊人大香蕉伊人在线 | 麻豆91传媒一区二区三区四区 | 黄色片网站在线观看 | 亚洲精品一二三四区 | 亚洲中文幕在线观看 | 无码操逼网 | 男女抽插网网站 | 做爱视频免费网站 | 无码精品一区二区三区四区五 | 国内精品 在线播放 | 日本精品综合网在线视频 | 北条麻妃九九九视频 | 成人精品无码 | 干BB视频 | 在线观看色情网站 | 国产婬荡交换XXXⅩ | 伊人大蕉香 | 欧美网站免费 | 久久久久久亚洲 | 天堂网资源av | 大鸡吧在线观看 | 亚洲高清毛片一区二区 | 国产精品秘 欧美丨欧美捆绑精品 | 黑人与少妇一级A片 | 日韩无码国产精品 | 91福利视频在线观看 | 靠逼亚洲| 国产精品视频网站 | 亚洲一区豆花视频 | 婷婷色网 | 黄色一级片电影在线观看 | 欧美特级aaa | 亚洲爽 | 午夜久久久久久 | 欧美一区二区三区的 | 亚洲一区av | 亚洲婷婷激情一区 | 老鸭窝在线视频犯综合 | YY6080伦理韩国日本 | 国产日产欧美久久 | 操丝袜熟女骚逼 | 欧美屄视频 | 黄视频在线观看免费 | 曰韩一级A片 | 日韩草逼网| 最新中文字幕MV第三季歌词完整版 | 黑人美精品 A片 | 超粗鸡吧久久久久久久久 | 成人免费无码婬片在线观看免费 | 日本乱轮视频 | 51国产视频 | 日本成人三级片网站 | 国内性爱在线 | 男人的天堂导航 | 青青青草视频 | 操逼免费视频看看 | 老鸭窝日本天堂中文字幕在线免费观看 | 苍井空一区二区在线观看 | 成人三级片二区 | 玖玖在线免费观看视频 | 国产精品理论片 | 天天爱三级| 人人爽人人操 | 亚洲蜜桃一区 | 夜夜骚AV一二三区无码 | 亚洲精品92内射 | 色情视频在线免费 | 欧美人在线 | 成人免费视频 网站 | 可以看的av | 国产一级婬片A片免费看狼牙 | 爱视频福利广场 | 国产女女同百合在线播放 | 熟女激情视频 | 欧美黄色一区二区三区 | 国产家庭乱轮 | 俺来了俺去了www色官网 | 天堂中文8资源在线8 | 九九九色视频 | 国产swag在线观看 | 成人视频在线观看视频在线观看黄色 | 黄色无码视频在线客服 | 深爱五月天激情 | 美女爽爽影院 | 亚洲A片一区二区三区电影网 | 亚洲最大的黄色网址 | www精品| 国产swag在线观看 | A片在线免费看 | 老熟仑妇乱一区二区AV | 欧美成人699www | 三级片五月天 | 黄色性爱视频网站 | 色色视频免费看 | 日本在线视频色 | 综合久久视频 | 日韩国产免费一区二区 | 午夜偷拍精品 | 五月丁香夫妻自拍偷拍 | 中国美女一级毛片 | 色久在线| 操屄操屄操屄操屄 | 综合激情五月亚洲网图片 | 18禁久久| 一区一区视频 | 抠骚逼 | 免费中文中文A片 | 找个免费的a片 | 国产精品永久免费观看 | 国产小黄片 | 男女AA免费视频 | 亚洲成人AV在线播放 | 欧美精品久久久久久久久46P | 人人操天天射 | 中文字幕一区二区三区乱码视频 | 777中国盗摄偷拍0000 | 青青草原成人 | 一区二区三区免费无码 | 人妻-X88AⅤ | 国产精品色婷婷AV挤奶 | 天天色天天干天天日 | 秘 看片黄全部免费 | a v高清视频在线观看 | 欧美色图在线视频 | 国产日韩在线播放 | 欧美一级片免费在线 | 无码人妻一区二区三区综合另类 | 中文字幕 - 色网 | 99视频在线看 | 久久久噜噜噜久久中文字幕色伊伊 | 青草青青青在线免费观看视频 | a片一级富二代表兄妹淫乱新春 | 日日干,夜夜操 | 日本不卡一区 | 操人网| 无码AV电影在线观看 | 日本黄色视频网站在线观看 | 在车上内射91视频 | 欧美性夜黄A片爽爽免费视频 | 99在线视频免费 | 欧美日老女人 | 欧美自拍视屏播放在线观看 | 大香蕉伊人在线手机版 | 日韩一级午夜 | 超碰黄色在线 | 国产一区二区三区四区五区六区七区 | 男人猛躁女人秘 91网站 | 仓井空一区二区三区 | 日逼免费观看网站 | 少妇精品噜噜噜噜噜av | 91麻豆福利 | 日韩精品一区二区三区免费视频 | 天天爽天天爽 | 91aV影院在线播放 | 日韩精品99 | 国产91福利 | 亚洲无码app | 亚洲一级毛片 | 成人肏屄大片网站 | 国产成人AV导航 | 国产精品熟妇一区二区三区四区 | 欧美一级成人 | 女人被操在线观看 | 久草在线免费福利视频 | 欧美色图小说 | 影音先锋久久久久久 | 在线观看三级片视频 | 性无码一区二区 | 日韩爽爽 | 国产亚洲精久久久久久无码苍井空 | 成人毛片在线观看 | 国产一卡二卡三卡 | 一级黄色AA片 | 国产精品一极二极 | 狠狠人妻久久久久久综合99浪潮 | 伊人成人在线 | 色综合天 | 欧美三级电影在线播放 | 日韩三级影音先锋 | 国产色欲综合 | 日本wwwxxxx | 日韩无码肏屄 | www,俺也去婷婷官网 | 无码一级片 | 国产精品伦| 操碰在线观看视频 | av影音先锋 | 精品国产内射 | 久久精品噜噜噜成人88Aⅴ | 成人伊人AV | 色电影网址 | 凹凸福利视频 | 一区二区豆花视频 | av天堂中文版 | 2025最新操逼视频 | 欧美三级一区二区 | 红桃视频国产在线 | 日韩A片一级无码免费 | 国产精品久久久免费 | 91蜜桃婷婷狠狠久久综合9色 | 国产乱码操逼片 | 九色精品 | 污污免费网站 | 国产激情片| 五月开心激情网 | 久久久久国产一区二区三区潘金莲 | 一级黄色片免费观看 | 豆花视频一区二区二区 | 日比性免费在线 | 18禁免费看网站 | 内射网站 | 男人天堂最新地址 | 性色五月天| 欧美91| 竹菊av一区二区三区四区五区 | 影音先锋三级理伦电影 | 成人淫色网站 | 看国产毛片 | 亚洲操片免费看 | 在线观看豆花 | 精品欧美一区二区三区四区 | 中文字幕在线永久 | 91视频久久久久久久久久久久 | 精品人妻免费视频 | 在线无码一区二区三区四区 | 国产亚洲精品久久777777 | 欧美视频黄 | 国产怕怕怕香蕉 | 五月情丁香五月情婷婷 | 欧洲精品成人99 | 国产18女人水真多免费看 | 精品内射在线无码 | 最新三级av | 国产小视频在线 | 岛国av在线播放 丁香五月激情六月 | 亚洲色播中文字幕 | 五月天激情网站 | www.毛片网站 | 黑人大吊操逼 | 日本一级婬片A片免费播放一 | 波多野结衣一区不卡 | 亚洲插逼色 | 国产在线第一页 | 美女尻屄视频 | 一区二区三区视频 | 夜夜爽影音先锋 | 国产午夜精品一区二区三区四区 | 国产精品秘 久久久久久奇米影视 | 亚洲综合第一页 | 在线观看黄色 | 天堂视频免费在线观看 | 最新中文字幕在线 | 久久久久久麻豆 | 亚洲正在视频 | 日韩欧美91 | 亚洲免费黄色网址 | 在线天堂a 8 | 青青草娱乐在线 | 综合五月婷婷 | 国产三级在线免费 | 东京热国产传媒 | 六月丁香九月婷婷 | 美女考逼| 麻豆A∨在线 | 成人免费视频一区二区 | 亚洲三级网址 | 在线观看的成人黄色视频 | 日皮黄色片 | 小黄网站在线观看 | 大奶av在线 | 操人视频| 无卡无码| 免费色黄视频 | 亚洲七区| 色情综合网 | 久久综合无码内射国产 | 操操操操操操操操操操 | 夜夜拍拍| 欧美特级黄色网络 | 伊人丁香五月婷婷 | 人人人人人色 | 要操逼网| 国产精品成人无码A片噜噜 | 在线超碰91 | 欧美日日日日 | 亚洲高清视频不卡无码视频免费在线观看 | 免费AⅤ在线 | 亚洲色视 | 日韩无码专区 | 欧美顶级A一片视频 | 先锋av在线资源 先锋av资源在线 | 欧美a片中文字幕 | 五月婷综合 | 久久影院三级片 | 黄片大香蕉 | AAA黄色 | 国内精品国产三级国产99 | 色婷婷4| 国产精品视频免费观看 | 欧美靠逼网站 | 国产精品内射视频 | 外围女在线视频免费观看 | 东北操逼 | 日韩欧美爱爱 | 狠狠操狠狠 | C逼毛片 操她在线 | 嫩草乱码一区三区四区 | 精品少妇久久久 | 亚洲AⅤ无码一区二区波多野按摩 | 怡红院AV在线 | 麻豆乱伦无码 | 国产大鸡巴 | 国产乱码精品一品二品 | 一级黄色片免费看 | 久久久久少妇 | 五月天亚洲丁香无码 | 日韩国产欧美 | 大香蕉之久久 | 亚洲黄色影院 | 亚洲中文字幕巨乳 | 波多野吉衣av | 91大神在线资源观看无广告 | 国产偷窥盗摄精品 | aaa无码 | 精品大香蕉在线视频 | 午夜福利三级 | 国产成年女人性爱视频 | 区美一级AA免费观看 | 99久久夜色精品国产亚洲 | 在线观看视频草女人啊啊 | 北条麻妃99精品青青久久 | 欧美性大战久久久久久久又粗 | 小泽玛利亚黑人喷水 | www.日韩欧美 | 手机看片欧美+日韩+国产 | 欧美操逼一区二区 | 无码日日爽天天干 | 亚洲欧洲a片 | 奇米二区 | 天天干人人干 | 免费在线国产视频 | 久久久久有精品国产白浆天美传媒 | 中曰韩欧美一级 | 中文在线日韩 | 日韩在线视频第一页 | 亚州无码中文字幕日韩AV | 中文字幕第一页精品视频 | 视频一区在线播放 | 国产伦子伦免费 | 日逼好舒服| 中圆A1变臉性爱免费视频在线 | 影音先锋中文字幕一区二区 | 天天插天天透天天抽 | 深夜操逼逼网 | 久久人妻日韩 | 肏屄视频在线看 | 青青草在线超碰 | 地址一地址二日本视频免费 | 久久久久亚洲AV综合波多野结衣 | 大香蕉大奶子 | 伊人天天操天天色 | 99热这里没有精品 | 国产激情视频综合 | 18 网站在线 | 国产一级黄色电影 | TS人妖一区二区三区视频 | 成人影音a片 | A黄色视频| 黄色片网站在线观看 | 爱情岛论坛www成人网站 | 黄色精品视频 | 竹菊影视一区二区三区四区 | 五月天成人免费视频 | 久久久久久无码日韩欧美电影 | 无码性爱视频在线观看 |