排错的步骤是:
一:查看配置文件语法
二:查看端口
三:查看进程
四:查看日志
一、查看配置文件
参考官方文档和标准样例
二、查看端口和进程
(一)在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]
参数:
-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的[]中,顶部是其调用的组件,等等,直到TCP/IP部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。
-e 显示以太网统计信息。此选项可以与-s选项组合使用。
-n 以数字形式显示地址和端口号。
-o 显示与每个连接相关的所属进程ID。
-p proto 显示proto指定的协议的连接;proto可以是
下列协议之一: TCP、UDP、TCPv6或UDPv6。
如果与-s选项一起使用以显示按协议统计信息,proto可以是下列协议之一:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或UDPv6。
-r 显示路由表。
-s 显示按协议统计信息。默认地,显示IP、
IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息;
-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 是另一个文本阅读器,不过它还允许在文件中滚动浏览以及检索信息。