排错的步骤是:

   一:查看配置文件语法

   二:查看端口

   三:查看进程

   四:查看日志



一、查看配置文件

参考官方文档和标准样例



二、查看端口和进程

(一)在windows上    

   查看端口:netstat

   查看进程:tasklist

   在windows下如何查看端口占用情况?是被哪个进程占用?如何终止等.

   一般主要是使用DOS工具中netstat命令

   开始-->运行-->输入cmd-->进入DOS窗口-->运行命令netstat并添加适当的参数

           查看端口A被哪个进程占用: >netstat -aon | findstr "端口号A"

           查看进程B被哪个程序占用: >tasklist | findstr "进程号B"

           终止进程B:>taskkill /pid 进程号B /F

        或 终止进程B:>tskill 进程号B


(二)在linux上

    查看端口:netstat、lsof

  查看进程:ps、pstree、top

在linux下如何查看端口占用情况?是被哪个进程占用?如何终止等.

一般主要是使用bash中netstat和lsof命令

打开终端-->运行命令netstat或者lsof并添加适当的参数

           查看端口A被哪个进程占用: >netstat -anl | grep "端口号A"

        或 查看端口A被哪个进程占用: >lsof -i:"端口号A"

           终止端口A:>kill "进程号B"


(三)重要的命令的详解

   1、在windows中:

netstat命令:显示协议统计信息和当前TCP/IP网络连接。

   格式:

       NETSTAT [-a] [-b] [-e] [-n] [-o] [-pproto] [-r] [-s] [-v] [interval]

   参数:

    -a           显示所有连接和监听端口。
    -b          
显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件 拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。 这种情况下,可执行组件名在底部的[]中,顶部是其调用的组件,等等,直到 TCP/IP部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。
    -e          
显示以太网统计信息。此选项可以与 -s选项组合使用。
    -n          
以数字形式显示地址和端口号。
    -o          
显示与每个连接相关的所属进程ID
    -p proto    
显示proto指定的协议的连接;proto可以是
                 下列协议之一: TCPUDPTCPv6UDPv6
                 如果与-s选项一起使用以显示按协议统计信息,proto可以是下列协议之一 :
                 IP
IPv6ICMPICMPv6TCPTCPv6UDPUDPv6

    -r          
显示路由表。
    -s          
显示按协议统计信息。默认地,显示IP
                 IPv6
ICMPICMPv6TCPTCPv6UDPUDPv6的统计信息;
                 -p
选项用于指定默认情况的子集。
    -v          
-b选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的
组件。
    interval    
重新显示选定统计信息,每次显示之间 暂停时间间隔(以秒计)。按CTRL+C停止重新

显示统计信息。如果省略,netstat显示当前配置信息(只显示一次)


   Tasklist命令:用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。

   格式:Tasklist [/S system [/U username [/P [password]]]]

              [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

  参数:
   /S     system           指定连接到的远程系统。
   /U     [domain\]user    指定使用哪个用户执行这个命令。
   /P     [password]       为指定的用户指定密码。
   /M     [module]         列出调用指定的 DLL 模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。
   /SVC                    显示每个进程中的服务。
   /V                      指定要显示详述信息。
   /FI    filter           显示一系列符合筛选器指定的进程。
   /FO    format           指定输出格式,有效值: "TABLE"、"LIST"、"CSV"。
    /NH                     指定栏标头不应该在输出中显示。只对 "TABLE" 和 "CSV" 格式有效。


2、在linux中:


netstat命令:显示与IP、TCP、UDP和ICMP协议相关统计数据,一般用于检验本机各端口的网络连接情况。

   格式:

       netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

   参数:

   -a (all)显示所有选项,默认不显示LISTEN相关
   -t (tcp)仅显示tcp相关选项
   -u (udp)仅显示udp相关选项
   -n 拒绝显示别名,能显示数字的全部转化成数字。
   -l 仅列出有在 Listen (监听) 的服務状态

   -p 显示建立相关链接的程序名
   -r 显示路由信息,路由表
   -e 显示扩展信息,例如uid等
   -s 按各个协议进行统计
   -c 每隔一个固定时间,执行该netstat命令。

   提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到


lsof命令:列出当前系统打开文件

   格式:

       lsof [options] filename

   参数:

       lsof abc.txt 显示开启文件abc.txt的进程
       lsof -c abc 显示abc进程现在打开的文件
       lsof -c -p 1234 列出进程号为1234的进程所打开的文件
       lsof -g gid 显示归属gid的进程情况
       lsof +d /usr/local/ 显示目录下被进程开启的文件
       lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
       lsof -d 4 显示使用fd为4的进程
       lsof -i 用以显示符合条件的进程情况
       lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
            --> IPv4 or IPv6
             protocol --> TCP or UDP
             hostname --> Internet host name
             hostaddr --> IPv4地址
             service --> /etc/service中的 service name (可以不止一个)
             port --> 端口号 (可以不止一个)  


ps命令:显示瞬间行程 (process) 的动态

   格式:

       ps [options] [--help]

   参数:

  -A 列出所有的行程

  -w 显示加宽可以显示较多的资讯

  -au 显示较详细的资讯

  -aux 显示所有包含其他使用者的行程

  au(x) 输出格式 :

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  USER: 行程拥有者

  PID: pid

  %CPU: 占用的 CPU 使用率

  %MEM: 占用的记忆体使用率

  VSZ: 占用的虚拟记忆体大小

  RSS: 占用的记忆体大小

  TTY: 终端的次要装置号码 (minor device number of tty)

  STAT: 该行程的状态:

  D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)

  R: 正在执行中

  S: 静止状态

  T: 暂停执行

  Z: 不存在但暂时无法消除

  W: 没有足够的记忆体分页可分配

  <: 高优先序的行程

  N: 低优先序的行程

  L: 有记忆体分页分配并锁在记忆体内 (即时系统或捱A I/O)

  START: 行程开始时间

  TIME: 执行的时间

  COMMAND:所执行的指令


(四)常用端口简要解释

21端口:21端口主要用于FTP(File TransferProtocol,文件传输协议)服务。

23端口:23端口主要用于 Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。

25端口:25端口为SMTP(Simple Mail TransferProtocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。

53端口:53端口为DNS(Domain NameServer,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。

67、68端口:67、68端口分别是为Bootp服务的Bootstrap ProtocolServer(引导程序协议服务端)和Bootstrap ProtocolClient(引导程序协议客户端)开放的端口。

69端口:TFTP是Cisco公司开发的一个简单文件传输协议,类似于FTP。

79端口:79端口是为Finger服务开放的,主要用于查询远程主机在线用户、操作系统类型以及是否缓冲区溢出等用户的详细信息。

80端口:80端口是为HTTP(HyperText TransportProtocol,超文本传输协议)开放的,这是上网冲浪使用最多的协议,主要用于在WWW(World WideWeb,万维网)服务上传输信息的协议。

99端口:99端口是用于一个名为“MetagramRelay”(亚对策延时)的服务,该服务比较少见,一般是用不到的。

109、110端口:109端口是为POP2(Post Office Protocol Version2,邮局协议2)服务开放的,110端口是为POP3(邮件协议3)服务开放的,POP2、POP3都是主要用于接收邮件的。

111端口:111端口是SUN公司的RPC(Remote ProcedureCall,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC在多种网络服务中都是很重要的组件。

113端口:113端口主要用于Windows的“AuthenticationService”(验证服务)。

119端口:119端口是为“Network News TransferProtocol”(网络新闻组传输协议,简称NNTP)开放的。

135端口:135端口主要用于使用RPC(Remote ProcedureCall,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。

137端口:137端口主要用于“NetBIOS NameService”(NetBIOS名称服务)。

139端口:139端口是为“NetBIOS SessionService”提供的,主要用于提供Windows文件和打印机共享以及Unix中的Samba服务。

143端口:143端口主要是用于“Internet Message AccessProtocol”v2(Internet消息访问协议,简称IMAP)。

161端口:161端口是用于“Simple Network ManagementProtocol”(简单网络管理协议,简称SNMP)。

443端口:43端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。



三、查看日志

(一)在windows下

日志存放位置:

1、应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认文件大小512KB,管

            理员都会改变这个默认大小。

       (1)安全日志文件:%systemroot%\system32\config\SecEvent.EVT

       (2)系统日志文件:%systemroot%\system32\config\SysEvent.EVT

       (3)应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT

       2、Internet信息服务日志

       (1)FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日志

       (2)WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日志

       3、Scheduler服务日志默认位置:%systemroot%\schedlgu.txt

查看日志用记事本打开


(二)在linux下

   日志存放位置:

一般存放在 /var/log目录下

   查看日志:

使用命令cat、more、less、head、tail(一般常用的是more和tail)



tail命令设计用于显示文本文件的最后几行。

   more的工作方式与DOS版本相同。您可以将它指向一个文件,或者通过它以管道输出信息,以分页的方式来查看信息。less 是另一个文本阅读器,不过它还允许在文件中滚动浏览以及检索信息。