zoukankan      html  css  js  c++  java
  • 一、网络知识介绍

    1、客户端和服务端

    网络程序和普通程序的一个最大区别是网络程序有两个部分组成即客户端和服务端。

    客户端是在网络程序中和外界程序进行通信(获取文件)的程序,例如ftp程序就是客户端。

    服务端和客户端程序相对应,是被动的等待外面的程序来和自己通信的程序。

    互为客户端和服务端:在实际应用中有些程序是互为客户端和服务端的。

    2、常用的命令

    2.1 netstat

    定义:

    netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

    使用:

    一般用netstat -an 来显示所有连接的端口并用数字表示。

    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知有哪些网络连接正在运作。 使用时如果不带参数,netstat显示活动的 TCP 连接。

    该命令的一般格式为 :

    netstat [-a][-e][-n][-o][-p Protocol][-r][-s][Interval]

    命令中各选项的含义如下:

    -a 显示所有socket,包括正在监听的。
    -c 每隔1秒就重新显示一遍,直到用户中断它。
    -i 显示所有网络接口的信息,格式“netstat -i”。
    -n 以网络IP地址代替名称,显示出网络连接情形。
    -r 显示核心路由表,格式同“route -e”。
    -t 显示TCP协议的连接情况
    -u 显示UDP协议的连接情况。
    -v 显示正在进行的工作。
    -p 显示指定协议信息。
    -b 显示在创建每个连接或侦听端口时涉及的可执行程序。
    -e 显示以太网统计。此选项可以与 -s 选项结合使用。
    -f 显示外部地址的完全限定域名(FQDN)。
    -o 显示拥有的与每个连接关联的进程 ID。
    -s 显示每个协议的统计。
    -x 显示 NetworkDirect 连接、侦听器和共享端点。
    -y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。
    interval 重新显示选定的统计,各个显示间暂停的 间隔秒数。按 CTRL+C 停止重新显示统计。如果省略,则 netstat 将打印当前的配置信息一次。

    常用选项:

    netstat -s 本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

    netstat -e 本选项用于显示关于以太网的统计数据,它列出的项目包括传送数据报的总字节数、错误数、删除数,包括发送和接收量(如发送和接收的字节数、数据包数),或有广播的数量。可以用来统计一些基本的网络流量。

    netstat -r 本选项可以显示关于路由表的信息,类似于后面所讲使用routeprint命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。

    netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

    netstat -n 显示所有已建立的有效连接。

    netstat -p 显示协议名查看某协议使用情况

    2.2 telnet

    定义:

    telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

    工作过程:

    使用telnet协议进行远程登录时需要满足以下条件:在本地计算机上必须装有包含telnet协议的客户程序;必须知道远程主机的ip地址或域名;必须知道登录标识与口令。

    telnet远程登录服务分为以下4个过程:

    1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的ip地址或域名;

    2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;

    3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

    4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

    2.3 ping

    定义:

    ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址。该命令还可以加许多参数使用,具体键入ping按回车即可看到详细说明。

    实例讲解:

    ping就是对一个网址发送测试数据包,看对方网址是否有响应并统计响应时间,以此测试网络。

    具体方式是,开始--运行--cmd,在调出的dos窗口下输入 ping 空格 + 你要ping的网址,回车。

    比如 “ pingXXX网址” 之后屏幕会显示类似信息

    ping XXX 网址[61.135.169.105] with 32 bytes of data:
    
    Reply from 61.135.169.105: bytes=32 time=1244ms TTL=46
    
    Reply from 61.135.169.105: bytes=32 time=1150ms TTL=46
    
    Reply from 61.135.169.105: bytes=32 time=960ms TTL=46
    
    Reply from 61.135.169.105: bytes=32 time=1091ms TTL=46

    后面的time=1244ms 是响应时间,这个时间越小,说明你连接这个地址速度越快。

    3、TCP和UDP 

    TCP(Transfer Control Protocol)传输控制协议是一种面向连接的协议,当我们的网络程序使用这个协议的时候,网络可以保证我们的客户端和服务端的连接是可靠的、安全的。

    UDP(User Datagram Protocol)用户数据报协议是一种非面向连接的协议, 这种协议并不能保证我们的网络程序的连接是可靠的。

    参考:360百科

  • 相关阅读:
    Python列表List增删改查、拷贝
    面向对象之继承——python篇
    面向对象——python篇
    异常——python基础篇
    函数进阶
    文件操作——python基础篇
    函数(一)——python基础篇
    字典——python基础篇
    特有的字符串格式化函数format——python篇
    webdriver对应谷歌版本下载地址
  • 原文地址:https://www.cnblogs.com/tgycoder/p/5250443.html
Copyright © 2011-2022 走看看