精华内容
下载资源
问答
  •  这几天比较热门的记录访客的端口号,在日志文件格式中添加获取客户端端口号的环境变量: %{REMOTE_PORT}e      环境器环境变量在mod_rewrite模块有如下的说明 转载于:...

    日志管理分类

    日志文件是用户管理和监控 Apache 安全的非常好的第一手资料,它清晰地记录了客户端访问 Apache 服务器资源的每一条记录,以及在访问中出现的错误信息,可以这样说,Apache 可以记录 Web 访问中感兴趣的几乎所有信息。

    当运行 Apache 服务器时生成 4 个标准的日志文件:

    • 错误日志
    • 访问日志
    • 传输日志
    • Cookie 日志

    其中比较常见的是访问日志(access_log)和错误日志(error_log),其中传输日志和 cookie 日志被 Apache 2.0 以上的版本丢弃,所以本文不讨论这两种日志。当然,如果使用 SSL 服务的话,还可能存在 ssl_access_log、ssl_error_log 和 ssl_request_log 三种日志文件。

    另外,值得注意的是:上述几种日志文件如果长度过大,还可能生成注入 access_log.1,error_log.2 等的额外文件,其格式与含义与上述几种文件相同,只不过系统自动为其进行命名而已。

    日志相关的配置指令

    Apache 中提供如下 4 条与日志相关的配置指令:

    • ErrorLog 指令:用于指定错误日志的存放路径,使用语法为:ErrorLog 文件名;
    • LogLevel:用于指定错误日志的错误登记,使用语法为:Loglevel 等级;
    • LogFormat:用于为日志记录格式命名,使用语法为:LogFormat 记录格式说明字符串 格式称谓;
    • CustomLog:用于指定访问日志存放路径和记录格式,指定访问日志由指定的程序生成并指定日志的记录格式,使用语法为:CustomLog 日志文件名 格式称谓。

    在上述几个文件当中,除了 error_log 和 ssl_error_log 之外,所有日志文件以由 CustomLog 和 LogFormat 指令指定的格式生成。这些指令在 httpd.conf 文件中出现。使用 LogFormat 指令可以定义新的日志文件格式:

     LogFormat “%h  %l  %u  %t  \ “%> %s %b “common 
    

     

    假定使用的是 common 日志格式或者 combined 日志格式,这两种格式都在默认的配置文件中定义。表 1 列出了 LogFormat 语句可以使用的变量:

    表 1. LogFormat 语句的变量

    变 量含 义
    %b 发送字节,不包括 HTTP 标题
    %f 文件名
    %{VARIABLE}e 环境变量 VARIABLE 的内容
    %h 远程主机
    %a 远程 IP 地址
    %{HEADER}i HEADER 内容;发送到服务器的请求的标题行
    %l 远程登录名(如果提供该值,则从 identd 获得)
    %{NOTE}n 来自另一个模块的 NOTE 通知的内容
    %{HEADER}o HEADER 的内容,回复中的标题行
    %p 服务器服务于请求的规范端口
    %P 服务于请求的子进程的 ID
    %r 请求的第一行
    %s 状态。对于内部重定向的请求,该状态为初始请求—最后是 %>s
    %t 时间,格式为 common 日志格式中的时间格式
    %{format}t 时间,格式由 format 给出。可以是 strftime(3)格式
    %T 服务请求花费的时间,以秒计
    %u 来自 auth 的远程用户;如果返回的状态(%s)为 401 则可能是假的
    %U 请求的 URL 路径
    %v 服务于该请求的服务器的规范 ServerName

     

    在每个变量中,可以在前面设置一个条件,决定是否显示该变量。如果不显示,则显示 -。这些条件是数值返回值列表的形式。另外,还可以使用 CustomLog 指令指定日志文件的位置和格式。如果没有指定日志文件的绝对路径,则日志文件的位置假定为相对于 ServerRoot。下面是 httpd.conf 文件中指定日志文件的语句:

     // 
     // The location and format of the access logfile(Common Logfile Format). 
     // If you do not define any access logfiles within a <VirtualHost> 
     // container, they will be logged here.  Contrariwise, if you *do* 
     // define per-<VirtualHost> access logfiles, transactions will be 
     // logged therein and *not* in this file. 
     // 
     CustomLog logs/access_log common 
    
     ErrorLog logs/error_log 
    

     

    日志记录等级和分类

    一般说来,Apache 中的错误日志记录等级有如表 2 所示的八类:

    表 2. 错误日志记录的等级

    紧急性等级解释
    1 Emerg 出现紧急状况使得系统不可用
    2 Alert 需要立即引起注意的状况
    3 Crit 危险情况的警告
    4 Error 除上述 3 种情况之外的其他错误
    5 Warn 警告信息
    6 Notice 需要引起注意的情况,不如第 4 和第 5 类重要
    7 Info 需要报告的一般消息
    8 Debug 运行于 debug 模式的程序产生的消息

     

    另外,在 Apache 中,将访问日志分为如下 4 类:

    • 普通日志格式(common log format,CLF):大多数日志分析软件都支持这种格式,其在 LogFormat 指定中定义的昵称为 common;
    • 参考日志格式(referer log format):记录客户访问站点的用户身份,其在 LogFormat 指定中定义的昵称为 referer;
    • 代理日志格式(agent log format):记录请求的用户代理,其在 LogFormat 指定中定义的昵称为 agent;
    • 综合日志格式(combined log format):即结合上述三种格式的日志信息,其在 LogFormat 指定中定义的昵称为 combined。

    在实际的使用过程中,由于综合日志格式有效地结合了其他 3 种日志格式和信息,所以在配制访问日志时,可以有两种方式:

    (1)分别使用 3 个文件进行分别记录,相应配置示例如下:

     LogFormat “%h %l %u %t \ “%r\” %>s %b” common 
     LogFormat “%{Referer}i->%U” referer 
     LogFormat “%{Apache User-agent}i” agent 
     CustomLog logs/access_log common 
     CustomLog logs/referer_log referer 
     CustomLog logs/agent_log agent 
    

     

    (2)使用一个综合文件进行记录,相应配置示例如下:

    LogFormat “%h %l %u %t \ “%r\” %>s %b \”%{Referer}i\” \ 
      “%{Apache User-Agent}i\””combined
    CustomLog logs/access_log combined

     这几天比较热门的记录访客的端口号,在日志文件格式中添加获取客户端端口号的环境变量: %{REMOTE_PORT}e 

     

     环境器环境变量在mod_rewrite模块有如下的说明

    转载于:https://www.cnblogs.com/wuhouci/p/3286337.html

    展开全文
  • 连 接 概 述 顺着第一篇的思路下来,到最后我们已经可以依靠分层达到两台主机之间的自由通信,那么问题来了,假设现在有主机A(客户端)及主机B(服务端),其中主机A需要访问... 主机B需要具有一个服务端端口号 ...

    连 接 概 述

    顺着第一篇的思路下来,到最后我们已经可以依靠分层达到两台主机之间的自由通信,那么问题来了,假设现在有主机A(客户端)及主机B(服务端),其中主机A需要访问主机B的资源,需要哪几个必要条件呢?经过上篇文章可知至少需要四个条件:

    • 主机A需要具有一个ip地址

    • 主机B需要具有一个ip地址

    • 主机A需要具有一个客户端端口号

    • 主机B需要具有一个服务端端口号

    具备上述四个条件后A获取B的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,TCP协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过TCP协议的三次握手及四次(三次)挥手来分析一下A与B建立连接、关闭连接的技术细节是如何落地实现的。

     

     

       三 次 握 手

     

    第一次:首先客户端A会向服务端B发送一个数据同步请求,可以称为建立连接请求syn,同时客户端A 的cpu内核会为这个syn请求生成一个随机的序列号seq发送给服务端。此处整体称为第一次握手,注意此处为随机序列号。

    第二次:服务端B接到客户端A发送的syn请求后,会回复一个[syn+ack]的响应,其中syn仍表达数据同步的意思,这个应答seq值由服务端B的cpu随机生成,ack的值为第一次握手seq的值+1,ack表示两层含义:

    • 服务端B已经收到了客户端A发过来的数据同步请求

    • 希望客户端接下来的应答消息的seq的值以ack回复的值开始传输。

    这个称为第二次握手。

    第三次:客户端A接收到服务端B的[syn+ack]应答消息会给B回复一个ack应答,ack消息中seq值为第二次握手ack的值,而ack则为第二次握手的请求的seq值+1。

    三次握手通信释义图如上所示,接下来我们来通过抓包的形式来看一下实际报文,印证三次握手的报文通信。

    笔者通过wireshark(抓包工具)抓取数据包,采用打开一个浏览器网页的场景模拟对服务器B的请求。

    第一次握手抓包图如下:

    第二次握手抓包释义图如下:

    第三次握手抓包释义图如下:         

    通过三次握手的抓包可以很清晰的展示三次交互流程,可能有人会有连带的疑问,为什么一定是三次,而不是别的次数,这里三次其实是最优的次数,而不是一定的次数,比如如果两次的话A、B两方将会有一方无法做出信息是否送达的确认,而超过三次则造成了浪费,因为三次交互中A、B都已经对两方应答一次了。接下来来看一下四次挥手的交互流程。

     四 次 挥 手

    理解三次握手及流程后,四次挥手其实本质和三次握手的确认流程基本上是一样的,下面我们简单梳理一下挥手标准流程。

    第一次:当A确认当前连接数据已经全部发送完成以后,会发起关闭连接请求,此时A不再发送业务报文,发送的请求标志为FIN ,seq为x,此处整体为第一次挥手。

    第二次:B收到A发出的关闭连接的请求之后,会给A一个确认响应,告诉A我收到你关闭连接的请求了,但是我有可能还有没发完的数据需要继续给你发送,响应的标志为ack,seq为Y,ack为x+1,此处整体为第二次挥手。

    第三次:当B把数据传输完之后会发送释放连接响应,此处标志B释放连接,不会再发送业务报文,此时请求的标志为FIN+ack,seq的值为y,ack的值为x+1,此处整体为第三次挥手。

    第四次:A对B第三次挥手做最后确认,并释放连接,此时请求标志为ack,seq为x+1,ack为y+1。

    四次挥手通信释义图如上所示,由于三次握手的每一次都通过抓包工具详细描述了通信详情,此处挥手抓一个整体包截图,由读者自行解析分析即可。

    四次挥手抓包整体释义图如下:

    可以看到,这里面的挥手包数与咱们分析的标准流程不一样,这里是因为第二次和第三次挥手都是B向A发起确认响应,区别是第二次只是确认,因为可能还有数据没有传完,要继续传,全部数据传完后B才能发出最后指令进行释放连接,但这时如果发第二次挥手的时候就可以确认没有数据需要再同步给A了,这时如果按照标准流程,B会给A发送两个相同的数据包,这样就造成了资源浪费,故这块挥手做了优化,可以确认数据的情况下,可以把第二次和第三次挥手合并成一次,所以此处是三次握手。

    小  结

     

    本文梳理了TCP建立连接概述、三次握手、四次挥手的流程,下一篇将会从控制报文协议ICMP及常用网络工具命令ping、traceroute为切入点分析控制消息的设计及实现机制,小伙伴们如果对本文有疑问可以留言或者加我微信咨询,大家一起进步。

    展开全文
  • Mysql配置文件说明 MySQL-》MySQL ServerX.X-》my.ini ... 服务端端口号 port=3306 安装目录 basedir="C:/Program Files/MySQL/MySQL Server X.X/" 文件目录 datadir=C:/ProgramData/MySQL/MySQ...
    • Mysql配置文件说明

    MySQL-》MySQL ServerX.X-》my.ini

    [mysqld] 为服务端配置,

      1.  服务端端口号

    port=3306

      1.  安装目录

         basedir="C:/Program Files/MySQL/MySQL Server X.X/"

      1.  文件目录

         datadir=C:/ProgramData/MySQL/MySQL Server X.X\Data

      1.  字符集

         character-set-server=utf8

      1.  数据库使用的存储引擎执行SQL语句

    default-storage-engine=INNODB

      1.  语法模式

    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

      1.  最大连接数

       max_connections=151

     

    改配置重启服务会立即生效。

    • 服务启动和停止

    2.1运行-》services.msc  找到MySQL服务进行启动操作

    2.2 命令行方式

      2.2.1 以管理员身份运行

    2.2.2 C:\Windows\system32>net stop mysql

    2.2.3 C:\Windows\system32>net start mysql

    • MySQL服务登录和退出

     

       方式一: 登入:MySQL自带客户端 MySQL x.x  Command Line Client

                      直接输入密码:Enter password:

                退出:ctrl+c  或exit    只适合root用户

       方法二:命令行方式

            以管理员身份运行

     登入: C:\Windows\system32>mysql  -h  localhost(主机)  -P  3306(端口)  -u  root(用户名)  -p  密码

            本机: C:\Windows\system32>mysql  -u root(用户名)  -p 密码

     

    退出:ctrl+c  或exit

    • 配置环境变量

    将MySQL安装目录bin目录加到环境变量path里面

    展开全文
  • 在远程服务器使用jupyter notebook或者tensorboard等时,在本地打开服务器端的网页的方式有很多比如可以使用MobaXterm工具等,此方法可参考之前的博客...其中8888是本地端口号,8008是服务器端端口号,可根据实际情况.
    
    
    ssh username@remote_address -L 127.0.0.1:8888:127.0.0.1:8008
    
    • 其中8888是本地端口号,8008是服务器端端口号,可根据实际情况进行调整。
    展开全文
  • 1.服务器有65535个端口,也就是记录...也就是客户端http连接用ip地址+服务器端端口号来进行通讯的。 3.那客户端进来http连接请求了,服务器端谁来监听端口呢?就是应用程序啊,类似于Tomcat等软件。 4.应用程序的s...
  • MUA:邮件用户代理(outlook)、即邮件客户端MTA:邮件传输代理 即邮件服务器MDA:邮件投递代理 检查邮件是否安全及邮件发送MRA:邮件...如果服务端端口号发生改变,客户端要修改,容易造成很大的工作量lmtp(local...
  • 实现主从复制

    2019-12-07 14:57:39
    window 实现主从复制 首先准备两个大版本相同的mysql服务 修改主服务器配置文件 如下所示 [client] port=3307 //修改客户端端...port=3307 //修改服务端端口号 3307 basedir="C:/MySQLmaster/" //修改为自己的base...
  • 用c#客户端连接C++服务器端,客户端调用connect函数时发生异常,错误信息是目标机器积极拒绝,无法连接。...2.把服务器端端口号从本机字节序转为网络字节序,用htons函数 SOCKADDR_IN saServe;  sa
  • MySQL常用命令

    2021-06-03 11:32:28
    在bin目录下: 1、修改MySQL服务端端口号,如果安装的时候没来及修改,改配置文件也可以[mysqld] port=3306
  • 服务端端口号: 熟知端口号:0~1023 登记端口号:1024~49151 客户端端口号(短暂端口号):49151~65535 TCP:面向连接 UDP:面向报文 TCP主要特点: 面向连接 每一条TCP连接只能有两个端点,即每条TCP...
  • 1.1 服务端端口号变化了,如何基于秘钥连接 1.1.1 环境准备 实验环境: [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (Final) 将一台服务器的ssh服务端口修改为63389 [root@test ~]# ...
  • MySQL之pymysql模块

    2018-03-05 18:36:00
    MySQL之pymysql模块 import pymysql #s链接数据库 conn = pymysql.connect( host = '127.0.0.1', #被连接数据库的ip地址 ... port = 3306, #数据库服务端端口号 user = 'root', #用户名 passwor...
  • 确定IP没有错的情况下,客户端无法连接MQTT服务端,有可能是服务端端口号(默认1883)没有开 2、RuntimeException: cannot start service org.eclipse.paho.android.service.MqttService Manifest.xml中没有声明...
  • 使用jdk自带的Bio编写一个同一时间服务 一个客户端请求过来服务返回对应的... //定义服务端端口号 private static final int PORT = 8080; public static void main(String[] args) throws IOException { //建立So
  • 1.1 服务端端口号变化了,如何基于秘钥连接 1.1.1 环境准备 实验环境: [root@test ~]# cat /etc/redhat-release CentOS release 6.9 (Final) 将一台服务器的ssh服务端口修改为63389 [root@test ~]# netstat -...
  • 老铁们,实话告诉你们。2019之前的不加 user:@"" //用户名 pass:@"" //密码是可以的 // [self.manager connectTo:self.host //服务器地址 // port:self.port //服务端端口号 // ...
  • Nocas高级

    2021-04-20 20:54:11
    •1)修改服务提供方的controller,打印服务端端口号 •2)编写yml配置 •3)配置idea启动项 4.1.3 测试 •启动3个服务(2个服务提供,1个服务消费) •查看nacos控制台 4.2 加载配置文件顺序2 •对 3.4.5...
  • Netty客户端

    2019-11-15 11:36:13
    Netty客户端 TCPClient public class NettyTcpClient { /** * TCP服务端IP(MD) */ @Value("${mdServer.ip}") private String ip; /** * TCP服务端端口号(MD) */ @Value("${mdServer.p...
  • 客户端需要ip地址和服务器端端口号(web端口默认是80) 被占用端口号查询:cmd中输入netstat -ano 第二列中:ip地址+端口号 80留给web服务器(Apache)用,21端口留给FTP,25端口留给邮件服务器 1.2.BS和CS架构: ...
  • svn使用那些事

    2017-09-04 20:35:07
    1 在windows下使用tortoise连接svn后,如何清除用户认证信息 2 svn仓库中的参数修改后是立即生效的,不用...3 修改svn服务端端口号 svnserve -d -r /home/declan/svnproject --listen-port 21 4 revprop change bl...
  • DHCP/RIP/ACL

    2018-07-24 21:28:51
    DHCP:动态主机配置协议,也是应用层协议,客户端端口号为68,服务端端口号为67 分配信息: IP地址(ip address) 掩码(mask) 网关(default-router /gateway) DNS(dns server,可以分配多个) 租期(lease...
  • TCPServer.cpp ...#define IP_PROT 6000 //服务端端口号 #define LISTEN_COUNT_MAX 20 //服务端监听sock最大总数 #define RECV_MAX_LENGTH 1024 //一次接收最大数据的长度 SOCKET sockClient=INVALID_SO..
  • 1、redis命令不区分大写和小写。可是KEY区分大写和小写。 ...3、redis-server --port 6380 --port參数设置服务端端口号 4、參数设置 A、redis-server redis.conf 启动时载入配置文件...
  • DHCP原理和配置

    2021-03-31 21:23:55
    基于c/s 架构,udp协议 客户端端口号-68,服务端端口号-67 需要了解Dhcp协议的四个过程过程 Dhcp discover 发现(discover) Dhcp offer 应答(offer) Dhcp request 请求(request) Dhcp ack 确认(ack) 1、Dhcp ...
  • 案例GitHub地址 在博客Android | UDP的C/S通信实战案例的基础上...指定服务端端口号(ip 默认为本机ip) 启动循环读取消息队列的子线程, 死循环,不断等待客户端请求连接, 一旦连接上, 直接新建一个子线程(丢...
  • Socket

    2018-09-18 08:46:48
    c-s java.net.Socket 套接字 封装了TCP通讯协议,使用他可以很方便以TCP协议为通讯...1:服务端IP地址 2:服务端端口号 通过IP地址可以zhao找到服务端计算机,通过端口可以找到运行在服务端计算机上的服务端应用...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

服务端端口号