首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

计算机网络——应用层(3)

套接 TCP套接 基本步骤 二者对比 小程一言 我的计算机网络专栏,是自己在计算机网络学习过程中的学习笔记与心得,在参考相关教材,网络搜素的前提下,结合自己过去一段时间笔记整理,推出的专栏,整体架构是根据计算机网络自顶向下方法整理的...P2P网络一般用途 在文件共享方面,P2P网络允许用户共享他们的文件,并允许其他用户从多个源头下载文件,从而提高下载速度并减轻服务器负载。...P2P网络也可能导致网络拥塞和带宽消耗问题,特别是在大规模文件共享和分布式计算 总结 P2P网络是一种灵活、高效的网络架构,适用于许多不同的应用场景。...在C语言中,可以使用socket()函数来创建套接。 绑定套接:接下来,需要将套接绑定到一个特定的地址和端口上,以便其他进程可以通过该地址和端口与套接通信。...但是,由于UDP协议是不可靠的,数据包可能会丢失或乱序,因此在使用UDP套接编程,需要考虑数据的可靠性和完整性。

11210

如何在Ubuntu 18.04上使用Postgres,Nginx和Gunicorn设置Django

我们将设置PostgreSQL数据库,不是使用默认的SQLite数据库。我们将配置Gunicorn应用程序服务器以与我们的应用程序连接。...基本上,这意味着如果用户的操作系统用户名与有效的Postgres用户名匹配,则该用户无需进一步身份验证即可登录。...)前面),即使您使用的是Python3,也请使用pip不是pip3....使用root用户不是sudo用户执行过程,可能会发生这种情况。虽然systemd能够创建Gunicorn套接文件,但Nginx无法访问它。...在上面的示例中,套接文件和通向套接文件的每个目录都具有全局读取和执行权限(目录的权限列以r-x不是---)结束。Nginx进程应该能够成功访问套接

6.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

如何在Debian 10上使用Postgres,Nginx和Gunicorn设置Django

在本指南中,我们将使用Django和Python 3.要安装必要的库,请登录到您的服务器并键入: sudo apt update sudo apt install python3-pip python3...默认情况下,Postgres使用称为“对等身份验证”的身份验证方案进行本地连接。 基本上,这意味着如果用户的操作系统用户名与有效的Postgres用户名匹配,则该用户可以登录而无需进一步的身份验证。...)),使用pip不是pip3 ,即使你使用的是Python 3.虚拟环境的工具副本总是命名为pip ,不管Python是什么版。...使用root用户不是sudo用户执行此过程,可能会发生这种情况。 虽然systemd能够创建Gunicorn套接文件,但Nginx无法访问它。...在上面的示例中,套接文件和通向套接文件的每个目录都具有全局读取和执行权限(目录的权限列以rx不是---结尾)。 Nginx进程应该能够成功访问套接

5.9K30

如何在Debian 9上使用Postgres,Nginx和Gunicorn设置Django

基本上,这意味着如果用户的操作系统用户名与有效的Postgres用户名匹配,则该用户无需进一步身份验证即可登录。...),即使您使用的是Python3,也请使用pip不是pip3....当连接到套接,systemd将自动启动gunicorn.service来处理它: sudo systemctl start gunicorn.socket sudo systemctl enable...使用root用户不是sudo用户执行过程,可能会发生这种情况。虽然systemd能够创建Gunicorn套接文件,但Nginx无法访问它。...在上面的示例中,套接文件和通向套接文件的每个目录都具有全局读取和执行权限(目录的权限列以r-x不是---结束)。Nginx进程应该能够成功访问套接

6.4K21

虚拟茶话会(1):初次实现

使用Python创建这种程序的方式有很多,一种简单自然的方法是使用框架Twisted,其核心是LineReceiver类。在本项目中,我将只使用标准库中的异步网络编程模块。...我将简单的介绍这些模块,有关它们的详细信息,请参阅“Python库参考手册”。网络程序的基本组件是套接。可通过导入模块socket并使用其中的函数来直接创建套接。...在初始化服务器,调用了create_socket,并通过传入两个参数指定了要创建的套接类型。虽然也可使用其他的类型,但通常都是用这里使用的类型。...每当从套接读取一些文本后,都将调用collect_incoming_data;读取到结束符将调用found_terminator。在这里,结束符为换行符。...4.3.整合起来 要让原型成为简单功能完整的聊天服务器,还需添加一项主要功能:让用户所说的内容(他们输入的每一行)广播给其他用户

83510

Linux:权限相关知识详解

当我们没有登录到服务器是不存在shell的,每次进行xshell登录,OS都要给你这个用户的当前登陆,新启动一个shell——bash Shell命令是用户在命令行界面输入的指令,用于与操作系统进行交互...执行 sudo 命令,系统会要求您输入当前用户的密码,以验证您的身份。 如果密码验证通过,并且该用户在 sudoers 文件中被授权执行命令,则系统会以超级用户的权限执行命令。...s:表示套接文件。套接文件用于进程间的网络通信,允许不同计算机上的进程进行通信。...三个问题 对于目录文件的权限理解 **可执行权限 (x):**决定是否可以进入目录。如果目录没有可执行权限,则无法使用 cd 命令进入目录。...例如,在家目录下创建一个名为 tmp 的共享目录: mkdir ~/tmp 然后可以将需要共享的文件放置在 tmp 目录下,其他用户即可在目录中访问这些文件 然而,这也会带来一个问题,即任何人都可以对共享目录中的文件进行删除

38810

如何在Ubuntu 16.04上使用uWSGI和Nginx为Django应用程序提供服务

使用使用createsuperuser命令选择的管理登录凭据,登录到服务器。...由于所有组件都在单个服务器上运行,因此我们可以使用Unix套接不是使用网络端口。这更安全,性能更好。...您可能遇到问题的原因有很多,但通常情况下,如果uWSGI无法创建套接文件,则出于以下原因之一: 项目文件由root用户不是sudo用户拥有 文件中的ExecStartPre行/etc/systemd...在上面的示例中,导致套接文件的每个目录都具有全局读取和执行权限(目录的权限列以r-x不是---)。www-data组拥有套接本身的组所有权。...通过这些设置,Nginx进程应该能够成功访问套接。 如果通向套接的任何目录不属于www-data组,或者没有全局读取和执行权限,则Nginx将无法访问套接。通常,这意味着配置文件有错误。

4.3K00

Python网络编程中的套接名和DNS解析

这一次要讲的是套接名和DNS,并且还会涉及到网络数据的发送接受和网络错误的发生和处理。下面说套接名,在创建和部署每个套接对象总共需要做5个主要的决定,主机名和IP地址是其中的最后两个。...下面要说getaddrinfo()这个工具,这个工具除了一些特定的工作,否则这个函数将是我们用来将用户指定的主机名和端口号转换为可供套接方法使用的地址所需的唯一方法。...下面是使用getaddrinfo()创建并连接套接。...如果用户正好输入了一个主机名,系统认为主机AppleTalk连接的。 2、getaddrinfo()调用失败会引起一个特定的名称服务错误。...不是在脚本末尾检测的普通网络故障,这个Python把这个错误叫做gaierror。 3、我们并没有为socket()构造函数传入3个单独的参数。我们使用星号传入了参数列表。

3.4K70

技术讨论之Exchange后渗透分析

那么问题来了,如果不知道该用户的口令,能否控制他们的主机呢? 数据包分析 首先需要明白ruler的具体实现过程和原理,到底是如何给其他用户增加规则、修改主页、发送form的。...CVE-2018-8581 一个非常经典的漏洞,网上分析漏洞的文章也较多。通过漏洞能允许任意用户伪装成Exchange服务器上的其他任何人。...最初的攻击方式其一是通过NTLM中继读到登录域控的任意用户的NTLMhash,这样就能够登录到该用户主机执行任意命令。...最后做到的效果就是通过python编写的脚本中继pubsubscription的请求,继而修改其他用户收件箱文件夹的权限为 Editor 。...修改文件夹权限的关键在于 通过已经获取的账户用户名及口令登录,能够读取其他用户收件箱中的邮件。

1.9K20

Python100天学习笔记】网络编程和应用开发

Python中也可以基于套接使用传输层提供的传输服务,并基于此开发自己的网络应用。实际开发中使用套接可以分为三类:流套接(TCP套接)、数据报套接和原始套接。...TCP套接 所谓TCP套接就是使用TCP协议提供的传输服务来实现网络通信的编程接口。在Python中可以通过创建socket对象并指定type属性为SOCK_STREAM来使用TCP套接。...这里的端口并不是物理设备而是对IP地址的扩展,用于区分不同的服务,例如我们通常将HTTP服务跟80端口绑定,MySQL数据库服务默认绑定在3306端口,这样当服务器收到用户请求就可以根据端口号来确定到底用户请求的是...在Python中也可以使用UDP套接来创建网络应用,对此我们不进行赘述,有兴趣的读者可以自行研究。...在下面的代码中我们使用了互亿无线短信平台(平台为注册用户提供了50条免费短信以及常用开发语言发送短信的demo,可以登录网站并在用户自服务页面中对短信进行配置)提供的API接口实现了发送短信的服务,

49910

Python因特网客户端编程

简介 底层网络通信协议使用的是套接,当我们需要进行文件传输、阅读、发送接收电子邮件使用的协议与套接的客户端/服务器端相似,唯一去的区别在于使用TCP/IP这样的底层的协议创建了新的、有专门用途的协议...FTP要求输入用户名和密码才能访问远程FTP服务器,但也允许用户匿名登录,匿名登录用户名为“anonymous”,密码一般是用户的电子邮件地址。匿名登录只能使用有限的几个FTP命令。...,FTP只使用TCP,使用UDP。...客户端和服务器都使用两个套接来通信:一个是控制和命令端口(21号端口),另一个是数据端口(有时候是20号端口)。 之所以说是有时候,是因为FTP有两种模式:主动和被动。...网络新闻传输协议 用户使用网络新闻传输协议(NNTP)在新闻组中下载或发表帖子。在FTP中,登录、传输和控制需要使用不同的端口,NNTP只使用一个标准端口119来通信。

1.4K20

linux文件写入的权限设置命令

1、文件类型共七种: d 目录 l 符号链接(软硬连接) s 套接文件 b 块设备文件 c 字符设备文件 p 命名管道文件 - 普通文件,或者更准确的说,不属于以上几种类型的文件...针对文件属主,同组用户以及其他用户的操作 粘性位“t” 如果在一个目录上出现“t”位,那么表示目录只有其属主才可以删除;如果出现在文件列表,那么意味着脚本或者程序在执行时会被放在交换区(虚存) 修改权限...第一位是设置suid和guid的,一旦设置了该位,那么在可执行权限位x上会出现一个s:suid(权限数字4)意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本也会具有其属主相应的权限...修改文件所属: 语法: chown -R -h owner file -R意味着对所有子目录下的文件做同样的修改; -h意味着在改变符号链接文件的属主不影响链接所指向的目标文件。...chgrp root hello.py :将hello.py文件所在组修改为root 创建文件默认权限: umask命令确定创建文件的缺省权限,一般umask在/etc/profile文件中设置,每个用户登录时会引用该文件

9.2K00

linux文件权限的设置及使用命令

1、文件类型共七种: d 目录 l 符号链接(软硬连接) s 套接文件 b 块设备文件 c 字符设备文件 p 命名管道文件 - 普通文件,或者更准确的说,不属于以上几种类型的文件...针对文件属主,同组用户以及其他用户的操作 粘性位“t” 如果在一个目录上出现“t”位,那么表示目录只有其属主才可以删除;如果出现在文件列表,那么意味着脚本或者程序在执行时会被放在交换区(虚存) 修改权限...第一位是设置suid和guid的,一旦设置了该位,那么在可执行权限位x上会出现一个s:suid(权限数字4)意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本也会具有其属主相应的权限...修改文件所属: 语法: chown -R -h owner file -R意味着对所有子目录下的文件做同样的修改; -h意味着在改变符号链接文件的属主不影响链接所指向的目标文件。...chgrp root hello.py :将hello.py文件所在组修改为root 创建文件默认权限: umask命令确定创建文件的缺省权限,一般umask在/etc/profile文件中设置,每个用户登录时会引用该文件

2.7K00

Github上的10个数据科学和机器学习知识库

学生可以通过不同的社区渠道、GitHub 问题、repo 的 Discord 服务器等进行互动。它确实带来了集体学习的感觉,在当今开放世界的免费教育计划中应该是这样的路要走 不是昂贵的课程。...你需要面对实时问题并解决将来可能遇到的问题,所以必须尝试使用正在学习的语言或技能在至少一个好的项目中实施它们。...7、Complete-Python-3-Bootcamp Python 是一种如此流行的语言,以至于人们在听到这个词不再想到爬行动物。它已成为数据科学、机器学习、人工智能甚至网络开发的首选语言。...无论是关于构建管理仪表板还是使用 Web 套接,几乎涵盖了所有内容。 9、DeepLearning-500-questions 顾名思义,这是关于深度学习和人工智能的综合知识体系。...10、metrics Metrics 可用于生成关于你的信息图表,因此你可以将它们嵌入到 GitHub 个人资料中,让其他用户更多地了解。

31130

CentOS6.5菜鸟之旅:文件权限详解

一、前言                                   Linux下所有资源、设备均被视作文件来操作,文件权限则是决定用户可各文件操作的范围,无论是平时使用Linux,还是写程序均涉及这方面...原因:程序将使用调用者(就是用户A)的用户标识去对系统作操作,程序的权限与调用者的权限一致。     需要:让程序使用与调用者无关的用户用户组标识,那么任何调用者执行程序时均无差异。    ...在目录下创建文件、目录等,其所属组与目录的所属组相同。不是所有者的用户组了。 场景2:某用户在执行 rm -rf 目录/* ,把所有者不是它的文件、目录都误删除了。   ...-,普通文件;  d,目录文件;  l,符号链接;  c,字符设备文件;    b,字节设备文件; p,先进先出文件; s,套接文件。   ②....)、最大时间间隔(密码有效天数)、警告时间(从系统开始警告用户修改密码到无法登录的天数)、不活动时间(用户没有登录活动,但账号仍保持有效的最大天数)、失效时间(用户名的有效天数) 3.

1.3K60

Linux环境下 RabbitMQ 的下载与安装

但是在版本,发现网上此法并不行!...rabbitmq的web控制台使用默认账户guest登录失败——login failed  问题背景 rabbitmq的默认账户和密码都是guest,安装完rabbitmq之后可以使用guest/guest...通过web控制台登录有以下两种形式: 本地登陆(即在rabbitmq安装的机器上登陆——地址栏输入http://localhost:15672) 远程登陆(即在其他机器上通过指定IP地址登陆——地址栏输入...解决方案 新建账户 默认的guest账户无法远程登陆,并不意味着其他用户也无法远程登录....virtual hosts 查看其他用户的connections和channels 查看节点级别的数据如clustering和memory使用情况 查看真正的关于所有virtual hosts的全局的统计信息

2.2K40

网络安全自学篇(十四)| Python攻防之基础常识、正则表达式、Web编程和套接通信(一)

10.错误和异常 遇到网络问题(如:DNS查询失败,拒绝链接等),requests会抛出一个ConnectionError异常;遇到罕见的无效HTTP响应式,requests则会抛出一个HTTPError...但是由于目标网站是HTTPS协议,作者尝试安全证书,但最终都无法成功访问网址,总是如下图所示访问证书网站。所以最后换了目标网站,其原理都是一样的,后续继续深入研究问题。...Python 2.5中加入了一种Linux套接的支持:AF_NETLINK(无连接)套接家族,让用户代码与内核代码之间的IPC可以使用标准BSD套接接口,这种方法更为精巧和安全。...要创建TCP套接就得创建指定套接类型为SOCK_STREAM。TCP套接这个类型表示它作为流套接的特点。...实现这种连接的主要协议是用户数据报协议UDP。要创建UDP套接就得创建指定套接类型为SOCK_DGRAM。

2.2K20

TCP聊天+传输文件服务器服务器套接v2.8 - 修复已知程序4个问题

+Thread(含日志,html)+anaconda打包32位exe(3.4万)|python高阶 v1.1 : python TCP套接服务器v1.1-新增服务端命令功能及修改bug(socket...+PyQt5) v1.2 : python TCP服务器v1.2 - 服务端新增用户登录注册(json, md5加密) v1.3 : python TCP服务器v1.3 - 服务器抗压测试及关闭套接字处理...聊天文件服务器v2.1 - 服务端线程管理(threading.enumerate) v2.2 : TCP聊天文件服务器v2.2 - 服务端客户端套接解决分包/粘包问题 - SocketQueue继承以及减少冗余...v2.3 : gzip的使用 - TCP聊天文件服务器v2.3 - 文件传输建立缓存制度和.gz的解压缩/压缩解决运行内存过大 v2.4 : 网络传输测速 - TCP聊天+传输文件服务器服务器套接...v2.6 - 登录注册界面更新 - loading界面应用 v2.7 : python 数据库性能提升 - TCP聊天+传输文件服务器服务器套接v2.7 data库登录问题 [!]

47640

【linux】权限

虚拟用户(Virtual Users): 虚拟用户并非Linux系统本身使用或创建的用户账户,而是由一些具体应用程序(如FTP服务)为了特定需求创建的用户。...例如: umask 027 这将设置一个umask值,其中所有者不受影响,组没有写权限,其他用户既没有写权限也没有执行权限。...) 用户范围(仅对特定用户生效):~/.profile,~/.bashrc 或 ~/.bash_profile(根据用户使用的Shell和操作系统而定) 在这些文件中添加umask命令,可以改变登录的默认...查看粘滞位 当你使用 ls -l 命令列出一个设置了粘滞位的目录,目录权限列表的最后一位不是 x 而是 t 或 T,表明粘滞位被设置。 如果可执行位也被设置(任何其他用户都有执行权限),显示 t。...当一个目录被设置为"粘滞位"(用chmod +t),则目录下的文件只能由 一、超级管理员删除 二、目录的所有者删除 三、该文件的所有者删除 权限设置表示法 使用八进制数字设置粘滞位,前面会增加一个

5810
领券