服务器端口

TCP传输协议

孤街醉人 提交于 2019-12-03 20:58:39
当时查http协议的时候了解的一些网络底层的知识,感觉挺有意思的,就把多位博主的资料整料梳理出来整理到一堆,就当是一篇科普文吧。 一、网络的五层模型 如何分层有不同的模型,有的模型分七层,有的分四层。我觉得,把互联网分成五层,比较容易解释 。 如上图所示,最底下的一层叫做"实体层"(Physical Layer),最上面的一层叫做"应用层"(Application Layer),中间的三层(自下而上)分别是"链接层"(Link Layer)、"网络层"(Network Layer)和"传输层"(Transport Layer)。越下面的层,越靠近硬件;越上面的层,越靠近用户。 一、层与协议 互联网的每一层,都定义了很多协议。这些协议的总称,就叫做"互联网协议"(Internet Protocol Suite)。它们是互联网的核心,下面介绍每一层的功能,主要就是介绍每一层的主要协议。 二、实体层: 内容小结:电脑连接起来的物理手段 实体层,它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。 三、链接层: 内容小结:在同一个子网络里发送数据包。 3.1 定义 链接层,它在"实体层"的上方, 通过以太网协议在同一个子网络里发送数据包 。 3.2 以太网协议(不是http协议) 以太网规定,一组电信号构成一个 数据包 ,叫做"帧"(Frame)

osi模型——运输层

血红的双手。 提交于 2019-12-03 18:58:10
运输层 运输层概述 运输层提供应用层端到端通信服务,通俗的讲,两个主机通讯,也就是应用层上的进程之间的通信,也就是转换为进程和进程之间的通信了,我们之前学到网络层,IP协议能将分组准确的发送到目的主机,但是停留在网络层,并不知道要怎么交给我们的主机应用进程,通过前面的学习,我们学习有mac地址,通过mac地址能找到同一个网络下主机,有IP地址,通过ip地址能找到不同网络下的网络,结合mac地址就能找到对应主机,那么怎么找到主机应用进程呢,肯定也有一个东西来标识它,那就是我们常说的端口了。 端口 占有16位,其大小也就有65536个,是从0~65535.也就是一台计算机有65535个端口,主机之间的通讯,也就是应用进程之间的通讯,都要依靠端口,一个进程对应一个端口,进程A和进程B通信,进程A分到的端口为60000,进程B分到的端口为60001,进程A通过端口60000发送数据给进程B,就知道要交给60001端口,也就到了进程B中,这样就达到了通信的目的。 熟知端口、登记端口、客户端端口 熟知端口:0-1023, 也就是一些固定的端口号,比如http使用的80端口,意思就是在访问网址时,我们访问服务器的端口就是80,然后服务器那边传网页的数据给我们。 登记端口:1024-49151,比如微软开发了一个系统应用,该应用在通讯或使用时,需要使用到xxx端口,那么就要去登记一下这个端口

自己动手写web服务器之虚拟端口支持

核能气质少年 提交于 2019-12-03 18:49:59
为什么需要支持虚拟端口? 如果不支持虚拟端口,每一个ip只能对应一个网站。再对应别的域名就需要加端口了。 支持虚拟端口的原理?? 首先,我们知道,当多个域名与一个ip相对。DNS只能提供ip地址,无法提供端口号。所以web browser无法知道多个域名与一个ip对应的时候那个域名应该使用哪个端口。当用户不能提供端口web browser只能使用80默认端口了。我们在DNS没法做人和作用。只能在web browser和web服务器上做手脚。web browser在发送request请求的时候,添加一个HOST项,web 服务器检查就可以了。 我就以将localhost和127.0.0.1对应不同的网站为例吧,可能不是很恰当,但是可以用来说明问题。如果向给好的话,可以通过修改host,将不同的域名对应到本地就行了。 下面主要代码:(本程序只是一个例子,只是用来说明原理,其中可有与实际开发中不允许的操作,也能会出现错误的,请大家谅解。本程序本人只在ubuntu12.04中使用系统默认的gcc编译成功,运行成功。在其他系统中为进行实验,请谅解。) 完整代码在最下面 完整代码下载 //虚拟端口处理操作。 void virtual_port_handler(char *buf, int connf) { char virtal_uri[] = "127.0.0.1"; int len =

tomcat

一世执手 提交于 2019-12-03 17:33:07
第1章 tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同开发而成 #原文地址 https://www.jianshu.com/p/2789af11299f Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx,Apache(httpd),lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Server和JSP容器,独立的Server容器是Tomcat的默认模式,.不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器. 其他JAVA容器还有resin,weblogic等 第2章 tomcat安装 1.环境介绍 2.部署java环境 [root@sweb01 ~]# yum install java-1.8.0 -y [root@sweb01 ~]# java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64

cmd命令

£可爱£侵袭症+ 提交于 2019-12-03 17:07:10
net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名 密码 /add 建立用户 net user guest /active:yes 激活guest用户 net user 查看有哪些用户 net user 帐户名 查看帐户的属性 net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理 员权限,注意:administrator后加s用复数 net start 查看开启了哪些服务 net start 服务名 开启服务;(如:net start telnet, net start schedule) net stop 服务名 停止某服务 net time \\目标ip 查看对方时间 net time \\目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/ yes可取消确认信息 net view 查看本地局域网内开启了哪些共享 net

ftp

送分小仙女□ 提交于 2019-12-03 16:49:37
目录 1.ftp简介 2.ftp架构 3.ftp数据连接模式 4.用户认证 5.1vsftpd的安装 5.2vsftpd配置 5.3配置匿名用户 5.4配置虚拟用户 1.ftp简介 网络文件共享服务主流的主要有三种,分别是ftp、nfs、samba。 FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输。 FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。 在FTP的使用当中,用户经常遇到两种概念:下载和上传 下载(Download) 上传(Upload) 从远程主机拷贝文件至自己的计算机上 将文件从自己的计算机上拷贝至远程主机上 2.ftp架构 FTP工作于应用层,监听于tcp的21号端口,是一种C/S架构的应用程序。其有多种客户端和服务端的应用程序,下面来简单介绍一下 客户端工具 服务端软件 ftp lftp,lftpget wget,curl filezilla gftp(Linux GUI) 商业软件(flashfxp,cuteftp) wu-ftpd proftpd(提供web接口的一种ftp服务端程序) pureftp vsftpd(Very Secure) ServU(windows平台的一种强大ftp服务端程序) 3.ftp数据连接模式

[PHP] time_wait与长连接短连接

泄露秘密 提交于 2019-12-03 14:53:18
服务端上查看tcp连接的建立情况,直接使用netstat命令来统计,看到了很多的time_wait状态的连接.这些状态是tcp连接中主动关闭的一方会出现的状态.该服务器是nginx的webserver监听80端口,搭配的php-fpm监听9000端口,连接其他服务器数据库3960端口,连接其他服务器的memcache 50028端口. 先查看本机监听80端口的time_wait状态,可以看到不同客户端的ip端口,来连接我的服务端,并且是我服务端主动关闭连接,因此可以看到time_wait,这些对我们服务器没有影响.因为这是http的短连接,肯定是会请求过来就创建一个连接,请求结束就关闭连接. 网上很多说这些如果太多会占用服务器的端口,根本就是不对的,因为这些是占用的是客户端的端口,服务端只是一个80端口,怎么会占用服务器的端口呢. netstat -altupn|grep ":80" 当然如果前面有负载均衡的话,客户端IP是固定的几个,可以把前面的负载均衡机器当成是客户端. 当然如果我们是通过nginx的反代,反代到fpm的9000端口 , 这个时候是我们本机随机开启端口,连接本机的9000端口 ,这个时候是会占用本机端口数的 还有就是真正占用服务器端口的是,当需要连接数据库时,比如我需要连接数据库的3960端口,这个时候我的服务器会随机占用本机的端口,连接远程的3960端口

网络测试工具--Iperf、Netperf 、MZ

随声附和 提交于 2019-12-03 13:27:01
网络测试工具--Iperf、 Netperf 、MZ 时间: 2018-08-31 14:01:27 阅读: 2443 评论: 0 收藏: 0 [点我收藏+] 标签: 缓冲池 port pairs 容量 trade ascii 技术 window udp 网络性能测量的五项指标 可用性(availability) 响应时间(response time) 网络利用率(network utilization) 网络吞吐量(network throughput) 网络带宽容量(network bandwidth capacity) 1. 可用性 测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用 ping 命令。通过向远端的机器发送 icmp echo request,并等待接收 icmp echo reply 来判断远端的机器是否连通,网络是否正常工作。 Ping 命令有非常丰富的命令选项,比如 -c 可以指定发送 echo request 的个数,-s 可以指定每次发送的 ping 包大小。 网络设备内部一般有多个缓冲池,不同的缓冲池使用不同的缓冲区大小,分别用来处理不同大小的分组(packet)。例如交换机中通常具有三种类型的包缓冲:一类针对小的分组,一类针对中等大小的分组,还有一类针对大的分组。为了测试这样的网络设备,测试工具必须要具有发送不同大小分组的能力。Ping

iptables端口转发

我的未来我决定 提交于 2019-12-03 11:15:54
服务器A: eth0:192.168.3.172 【内网地址,无网关】 eth1:223.xxx.xxx.172 【外网地址,有网关】 服务器B: eth0:192.168.3.108 【内网地址,无网关】 需求: 通过访问服务器A的公网IP地址 223.xxx.xxx.172 的51521端口,转发到服务器B的1521端口。 ----------------------------------------------- 配置过程: 1>修改配置文件,开启路由转发功能 # vim /etc/sysctl.conf net.ipv4.ip_forward = 1 # sysctl -p 2>配置iptables转发策略 # 转发策略 iptables -t nat -A PREROUTING -d 223.xxx.xxx.172 -p tcp --dport 51521 -j DNAT --to-destination 192.168.3.108:1521 iptables -t nat -A POSTROUTING -d 192.168.3.108 -p tcp --dport 1521 -j SNAT --to 192.168.3.172 iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT #

Linux_更改远程登录端口以及禁止root用户登录

天涯浪子 提交于 2019-12-03 09:45:23
最近服务器频繁遭人用弱鸡进行暴力破解,虽然密码足够强大;但也遭不住没日没夜的暴力破解。所以参考各路大牛的解决方式,决定更改端口和禁止root用户远程登录。 解决方式:   1、更改远程登录端口   2、禁止root用户远程登录   3、新增一个新的用户,使用该用户登录之后,切换到root用户 步骤:   1、新增一个用户        2、设置新增用户的密码        3、修改远程登录端口     (1)、打开ssh_config 文件 修改 port 为自己想要的远程登录端口              将port的注释取消并将此处的值修改为你想设置的端口            (2)、打开sshd_config 文件也同样修改端口                   (3)、重启ssh服务          4、禁用root用户进行远程登录,并将新建的用户赋予root权限     (1)、赋予刚刚新建的用户root权限,方式很简单,只需要打开sudoers文件 把root用户的权限加到新建用户上即可              找到root用户权限处              将新建用户的权限和root用户相同即可            (2)、禁用root用户远程登录              将注释去除 并将yes改为no              然后重启sshd服务