zoukankan      html  css  js  c++  java
  • 网络基础杂碎小知识

    1、 SOCK_STREAM  指tcp协议

      AF_INET 指基于网络通信的套接字

      SD数据爆协议,指的就是UDP
      fd文件描述符
      family地址家族
      laddr服务端自己地址 raddr客户端地址

    2、在tcp协议下必须先启动服务端

    3、  流程:操作系统--> 硬件 -->网卡--> 交换机

    4、 只有一个服务端,让所有客户端都能被服务,是并发能力 (建链接,通信循环)
      并发:利用 socketserver模块

    5、 基于UDP协议的套接字通讯
      服务端不需要listen----监听连接请求

    6、udp是无链接的,先启动哪一端都不会报错

      TCP必须先启动服务端

    7、AF_UNIX 基于文件的套接字

    8、 注意注意注意:

      res=subprocess.Popen(cmd.decode('utf-8'), shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)

      的结果的编码是以当前所在的系统为准的,如果是windows,那么res.stdout.read()读出的就是GBK编码的,在接收端需要用GBK解码

      且只能从管道里读一次结果

      注意:命令ls -l ; lllllll ; pwd 的结果是既有正确stdout结果,又有错误stderr结果

    9、 命令:netstat -an

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

    套接口类型:

    -t :TCP

    -u :UDP

    -raw :RAW类型

    --unix :UNIX域类型

    --ax25 :AX25类型

    --ipx :ipx类型

    --netrom :netrom类型

    状态说明:

    LISTEN:侦听来自远方的TCP端口的连接请求

    SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

    SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

    ESTABLISHED:代表一个打开的连接

    FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

    FIN-WAIT-2:从远程TCP等待连接中断请求

    CLOSE-WAIT:等待从本地用户发来的连接中断请求

    CLOSING:等待远程TCP对连接中断的确认

    LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

    TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

    CLOSED:没有任何连接状态


    10、命令: get +文件路径
      命令:dir

    一、ftp的get命令和mget命令有何不同?
    
    get一次只下载一个文件;mget一次可以下载多个文件,而且支持通配符,需要注意的是在mget的时侯,需要对每一个文件都选择y/n,如果想不交互的下载全部的文件,可以先用prompt命令关掉交互方式(关闭:prompt off;打开:prompt on)。
    
    二、FTP使用什么命令来定位服务器与本地硬盘的路径?
    
    ftp中用lcd切换本地路径,用cd切换远程服务器的路径。常用到的命令如下:
    
    cd目录名(进入服务器目录)    lcd目录名(进入本机目录)
    
    cd (退到服务器根目录)      lcd (退到本机根目录)
    
    cd ..(退回到上一级目录)     lcd ..(退回到上一级目录)
    
    三、!命令有何作用?
    
    执行本地shell命令,如:!dir(显示本机当亲目录内容),如果不加!如:dir(显示服务器当前目录内容)
    
    四、ftp命令支持“含有空格”的文件夹/文件名吗?
    
    支持,只要在引用时加上双引号“”即可!
    
    五、下面是命令行方式使用FTP的实战练习
    
    假设有一ftp服务器:ftp.test.com,用户名:username,密码:user1234。在本地电脑D:盘创建一个文件夹“qint”。将要上传的文件复制到D:qint里。通过FTP命令将文件从本地上传,从服务器下载的步骤如下:
    
    1、“开始”→“运行”→输入“FTP”
    
    2、open ftp.test.com
    
    注意:这一步可以与第一步合并,在“运行”里直接输入:ftp ftp.test.com。如果你的FTP服务器不是用的21默认端口,假如端口是2121,那么此步的命令应在后面空格加2121,即“open ftp.test.com
    
    3、username
    注意:提示你输入用户名
    
    4、user1234
    注意:提示你输入密码,密码不回显,打完密码后回车即可。如果你的密码输入错误,将不会提示你重新输入,这时你要键入“user”命令,将会出现第三步,你可以重新输入用户名和密码。
    
    5、dir
    注意:你成功登陆后就可以用dir查看命令查看FTP服务器中的文件及目录,用ls命令只可以查看文件。
    
    6、mkdir qint
    注意:在FTP服务器上根目录下建立qint目录
    
    7、cd qint
    注意:进入目录qint,用“cd 你的目录名”可以进入当前目录的下一级目录,这跟DOS一样。
    
    8、bin
    
    注意:采用二进制传输。如果你要上传下载,这一步很重要,不先执行这个命令,上传下载会很慢。大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。一般来说,我们最好都用binary方式,这样可以保证不出错。
    
    9、lcd d:qint
    
    注意:定位本地默认文件夹,在前面已事先在D:盘创建
    
    10、!dir
    
    注意:查看本地文件夹中的文件及目录
    
    11、put i001.jpg
    注意:将当前目录(d:qint)中的文件i001.jpg上传到FTP服务器默认目录。可以用“mput *.*”将所有文件上传到FTP服务器上。
    
    12、get d123.jpg
    注意:将FTP服务器默认目录中的文件d123.jpg下载到当前目录下(d:qint)。可以用“mget *.*”将所有文件下载到d:qint
    
    13、delete *.*
    
    注意:删除服务器对应目录qint中的所有文件。
    
    14、cd ..
    
    注意:返回至上一级目录,即根目录。返回上一级目录用“cd ..”要注意,中间有空格。返回根目录用“cd ”。
    
    15、mrdir qint
    
    注意:删除目录qint。删除目录,在此目录下不能有文件及目录,不然将无法删除。
    
    16、bye
    
    注意:退出FTP服务器。
    
    上传下载时特别要注意服务器及本地电脑的当前目录,文件是从哪里到哪里的问题。查看FTP服务器的当前目录命令为pwd,可以用cd命令定位服务器的目录。可以用lcd命令定位本地电脑的目录。
    
    以上实例应用到了采用FTP命令行方式上传下载的最常用命令,你还可以用命令“?”查看更多的命令。


    11、socket调用的简单用法:from socket import  *

    12、下载上传数据     完整版认证,校验都在此链接https://zhuanlan.zhihu.com/p/110296719

  • 相关阅读:
    单点登录原理与简单实现
    关系型数据库中的关键字、主关键字和候选关键字
    无向图的顶点连通度
    memcmp()直接比较两个数组的大小
    静态字典树
    动态字典树
    poj 1149
    poj 2112 floyd+Dinic最大流+二分最小值
    POJ 1698 (二分图的多重匹配)
    网络流算法
  • 原文地址:https://www.cnblogs.com/guojieying/p/13503157.html
Copyright © 2011-2022 走看看