网络故障排查命令
window
Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。
参数讲解:
我们输入“ping/?”按回车,即可例出ping的一些参数。下面给大家讲解下每个参数意思和使用:
ping [-t] [-a] [-n count][-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] |[-k computer-list] [-w timeout] destination-list
-t Ping 指定的计算机直到中断。
-a 将地址解析为计算机名。
-n count 发送 count 指定的 ECHO 数据包数。默认值为 4。
-l length 发送包含由length 指定的数据量的 ECHO 数据包。默认为32字节;最大值是65,527。
-f 在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。
-i ttl 将"生存时间"字段设置为 ttl 指定的值。
-v tos 将"服务类型"字段设置为 tos 指定的值。
-r count 在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多9 台计算机。
-s count 指定 count 指定的跃点数的时间戳。
-j computer-list 利用computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为 9。
-k computer-list 利用computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为 9。
-w timeout 指定超时间隔,单位为毫秒。
destination-list 指定要ping 的远程计算机。
使用 ping IP地址
tracert 可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为许多的种类——传播延迟、传输延迟、处理延迟、排队延迟等,是大多数网站性能的瓶颈之一)
参数
tracert命令的格式为:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name。
①、-d 表示不将地址解析成主机名。
②、-h maximum_hops 表示搜索目标的最大跃点数。
③、-j host-list 表示与主机列表一起的松散源路由(仅适用于IPv4)。
④、-w timeout 表示等待每个回复的超时间(以毫秒为单位)。
⑤、-R 表示跟踪往返行程路径(仅适用于IPv6)。
⑥、-S srcaddr 表示要使用的源地址(仅适用于IPv6)。
⑦、-4和-6 表示强制使用IPv4或者IPv6。
⑧、target_name 表示目标主机的名称或者IP地址。
curl主要用来与web服务器交互数据;常用功能包括上传下载文件、访问服务器页面
作用
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。
-a/–append 上传文件时,附加到目标文件
-A/–user-agent 设置用户代理发送给服务器
- anyauth 可以使用“任何”身份验证方法
-b/–cookie <name=string/file> cookie字符串或文件读取位置 - basic 使用HTTP基本验证
-B/–use-ascii 使用ASCII /文本传输
-c/–cookie-jar 操作结束后把cookie写入到这个文件中
-C/–continue-at 断点续转
-d/–data HTTP POST方式传送数据
–data-ascii 以ascii的方式post数据
–data-binary 以二进制的方式post数据
–negotiate 使用HTTP身份验证
–digest 使用数字身份验证
–disable-eprt 禁止使用EPRT或LPRT
–disable-epsv 禁止使用EPSV
-D/–dump-header 把header信息写入到该文件中
–egd-file 为随机数据(SSL)设置EGD socket路径
–tcp-nodelay 使用TCP_NODELAY选项
-e/–referer 来源网址
-E/–cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
–cert-type 证书文件类型 (DER/PEM/ENG) (SSL)
–key 私钥文件名 (SSL)
–key-type 私钥文件类型 (DER/PEM/ENG) (SSL)
–pass 私钥密码 (SSL)
–engine 加密引擎使用 (SSL). “–engine list” for list
–cacert CA证书 (SSL)
–capath CA目录 (made using c_rehash) to verify peer against (SSL)
–ciphers SSL密码
–compressed 要求返回是压缩的形势 (using deflate or gzip)
–connect-timeout 设置最大请求时间
–create-dirs 建立本地目录的目录层次结构
–crlf 上传是把LF转变成CRLF
-f/–fail 连接失败时不显示http错误
–ftp-create-dirs 如果远程目录不存在,创建远程目录
–ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
–ftp-pasv 使用 PASV/EPSV 代替端口
–ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
–ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输
–ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输
-F/–form <name=content> 模拟http表单提交数据
-form-string <name=string> 模拟http表单提交数据
-g/–globoff 禁用网址序列和范围使用{}和[]
-G/–get 以get的方式来发送数据
-h/–help 帮助
-H/–header自定义头信息传递给服务器
–ignore-content-length 忽略的HTTP头信息的长度
-i/–include 输出时包括protocol头信息
-I/–head 只显示文档信息
从文件中读取-j/–junk-session-cookies忽略会话Cookie - 界面指定网络接口/地址使用
- krb4 <级别>启用与指定的安全级别krb4
-j/–junk-session-cookies 读取文件进忽略session cookie
–interface 使用指定网络接口/地址
–krb4 使用指定安全级别的krb4
-k/–insecure 允许不使用证书到SSL站点
-K/–config 指定的配置文件读取
-l/–list-only 列出ftp目录下的文件名称
–limit-rate 设置传输速度
–local-port 强制使用本地端口号
-m/–max-time 设置最大传输时间
–max-redirs 设置最大读取的目录数
–max-filesize 设置最大下载的文件总量
-M/–manual 显示全手动
-n/–netrc 从netrc文件中读取用户名和密码
–netrc-optional 使用 .netrc 或者 URL来覆盖-n
–ntlm 使用 HTTP NTLM 身份验证
-N/–no-buffer 禁用缓冲输出
-o/–output 把输出写到该文件中
-O/–remote-name 把输出写到该文件中,保留远程文件的文件名
-p/–proxytunnel 使用HTTP代理
–proxy-anyauth 选择任一代理身份验证方法
–proxy-basic 在代理上使用基本身份验证
–proxy-digest 在代理上使用数字身份验证
–proxy-ntlm 在代理上使用ntlm身份验证
-P/–ftp-port 使用端口地址,而不是使用PASV
-Q/–quote 文件传输前,发送命令到服务器
-r/–range 检索来自HTTP/1.1或FTP服务器字节范围
–range-file 读取(SSL)的随机文件
-R/–remote-time 在本地生成文件时,保留远程文件时间
–retry 传输出现问题时,重试的次数
–retry-delay 传输出现问题时,设置重试间隔时间
–retry-max-time 传输出现问题时,设置最大重试时间
-s/–silent静音模式。不输出任何东西
-S/–show-error 显示错误
–socks4 <host[:port]> 用socks4代理给定主机和端口
–socks5 <host[:port]> 用socks5代理给定主机和端口
–stderr
-t/–telnet-option <OPT=val> Telnet选项设置
–trace 对指定文件进行debug
–trace-ascii Like --跟踪但没有hex输出
–trace-time 跟踪/详细输出时,添加时间戳
-T/–upload-file 上传文件
–url Spet URL to work with
-u/–user <user[:password]>设置服务器的用户和密码
-U/–proxy-user <user[:password]>设置代理用户名和密码
-v/–verbose
-V/–version 显示版本信息
-w/–write-out [format]什么输出完成后
-x/–proxy <host[:port]>在给定的端口上使用HTTP代理
-X/–request 指定什么命令
-y/–speed-time 放弃限速所要的时间。默认为30
-Y/–speed-limit 停止传输速度的限制,速度时间’秒
-z/–time-cond 传送时间设置
-0/–http1.0 使用HTTP 1.0
-1/–tlsv1 使用TLSv1(SSL)
-2/–sslv2 使用SSLv2的(SSL)
-3/–sslv3 使用的SSLv3(SSL)
–3p-quote like -Q for the source URL for 3rd party transfer
–3p-url 使用url,进行第三方传送
–3p-user 使用用户名和密码,进行第三方传送
-4/–ipv4 使用IP4
-6/–ipv6 使用IP6
-#/–progress-bar 用进度条显示当前的传送状态
使用
curl https://www.baidu.com -i
-i查看头信息
telnet用于远程登录到网络中的计算机,查看某端口是否可用
Telnet 客户端命常用命令:
open : 使用 openhostname 可以建立到主机的 Telnet 连接。
close : 使用命令 close 命令可以关闭现有的 Telnet 连接。
display : 使用 display 命令可以查看 Telnet 客户端的当前设置。
send : 使用 send 命令可以向 Telnet 服务器发送命令。支持以下命令:
ao : 放弃输出命令。
ayt : “Are you there”命令。
esc : 发送当前的转义字符。
ip : 中断进程命令。
synch : 执行 Telnet 同步操作。
brk : 发送信号。
quit :使用 quit 命令可以退出 Telnet 客户端。
上表所列命令以外的其他命令都将以字符串的形式发送至 Telnet 服务器。例如,send abcd 将发送字符串 abcd 至 Telnet 服务器,这样,Telnet 会话窗口中将出现该字符串。
telnet用于远程登录到网络中的计算机,并以命令行的方式远程管理计算机。需要注意的是,远程机器必须启动telnet服务器,否则无法打开telnet命令。
例如:在命令提示符中输入“telnet 114.80.67.193”,按回车键,但是为了安全起见,要输入“n”并按回车键,出现登录提示符。输入登录名后,按回车键即可登录到远程机器。
使用telnet的open子命令远程登录远程机器。命令格式:open hostname[port],hostname为ip地址,port默认为23。 在telnet提示符下输入“open 114.80.67.193”,按回车键。再输入“n”,根据提示输入用户名和密码即可远程机器上。
使用telnet的unset子命令关闭本地回显功能。操作过程:先在命令提示符中输入“telnet”,按回车键;然后输入“setlocalecho”,按回车键,即可打开本地回显功能;如要关闭回显能力,只要在telnet命令提示符后输入“unsetlocalecho”,按回车。
使用
telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080
退出命令: exit—退出dos窗口,
q!,wq—Linux下退出vi编辑器
ctrl+],之后在按q —退出telnet界面
quit—退出…
telnet主要用于远程登录,我这只简单使用,详细介绍请自行查找资料
netstat命令查看某个端口号是否占用,为哪个进程所占用
使用
netstat -ano
可以过滤查找 netstat -ano|findstr 8080
参数
显示协议统计信息和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval]
-a 显示所有连接和监听端口。
-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 选项用于指定默认情况的子集。
-t 显示当前连接卸载状态。
-v 与 -b 选项一起使用时将显示包含于
为所有可执行组件创建连接或监听端口的
组件。
interval 重新显示选定统计信息,每次显示之间
暂停时间间隔(以秒计)。按 CTRL+C 停止重新
显示统计信息。如果省略,netstat 显示当前
配置信息(只显示一次)
tasklist命令显示计算机上当前正在运行的进程列表
tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表。命令结合筛选器一起使用,可以按照我们的需求进行过滤,查找我们需要了解的进程信息。tasklist 替换 tlist.exe 工具。
用法:tasklist [/s [/u [] [/p ]]] [{/m | /svc | /v}] [/fo {table | list | csv}] [/nh] [/fi [/fi [ … ]]]
参数列表:
/S system 指定连接到的远程系统。
/U [domain]user 指定使用哪个用户执行这个命令。
/P [password] 为指定的用户指定密码。
/M [module] 列出调用指定的 DLL 模块的所有进程。
如果没有指定模块名,显示每个进程加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
/FI filter 显示一系列符合筛选器指定的进程。
.使用筛选器查找指定的进程
命令提示符下输入:TASKLIST /FI “USERNAME ne NT AUTHORITY\SYSTEM” /FI “STATUS eq running”
这样就列出了系统中正在运行的非“SYSTEM“状态的所有进程。
taskkill使用该工具按照进程 ID (PID) 或映像名称终止任务。
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
参数
/S system 指定要连接的远程系统。
/U [domain]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/FI filter 应用筛选器以选择一组任务。允许使用 ""。例如,映像名称 eq acme
/PID processid 指定要终止的进程的 PID。 使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。
/? 显示帮助消息。
筛选器
筛选器名 有效运算符 有效值
STATUS eq, ne RUNNING
NOT RESPONDING
IMAGENAME eq, ne 映像名称
PID eq, ne, gt, lt, ge, le 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB
USERNAME eq, ne 用户名,格式为 [domain]user
MODULES eq, ne DLL 名称
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题
说明
1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
2) 远程进程总是要强行 (/F) 终止。
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
ipconfig产看网络信息
ipconfig查看网络信息
ipconfig/all查看所有网络信息
liunx
traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。
使用
traceroute www.baidu.com
介绍
traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
原理:程序利用增加存活时间(TTL)来实现其功能。每当数据包(3个数据包包括源地址,目的地址和包发出的时间标签)经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP(Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。) TTL数据包给原数据包的发出者。
traceroute程序完整过程:首先它发送一份TTL字段为1的IP数据包给目的主机,处理这个数据包的第一个路由器将TTL值减1,然后丢弃该数据报,并给源主机发送一个ICMP报文(“超时”信息,这个报文包含了路由器的IP地址,这样就得到了第一个路由器的地址),然后traceroute发送一个TTL为2的数据报来得到第二个路由器的IP地址,继续这个过程,直至这个数据报到达目的主机。
1.命令格式:
traceroute [参数] [主机]
2.命令功能:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
3.命令参数:
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
ip addr 查看网络配置信息
nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题
nslookup domain [dns-server]
//如果没有指定dns服务器,就采用系统默认的dns服务器。
nslookup -qt = type domain [dns-server]
type:
A -->地址记录
AAAA -->地址记录
AFSDB Andrew -->文件系统数据库服务器记录
ATMA -->ATM地址记录
CNAME -->别名记录
HINHO -->硬件配置记录,包括CPU、操作系统信息
ISDN -->域名对应的ISDN号码
MB -->存放指定邮箱的服务器
MG -->邮件组记录
MINFO -->邮件组和邮箱的信息记录
MR -->改名的邮箱记录
MX -->邮件服务器记录
NS --> 名字服务器记录
PTR ->反向记录
RP -->负责人记录
RT -->路由穿透记录
SRV -->TCP服务器信息记录
TXT -->域名对应的文本信息
X25 -->域名对应的X.25地址记录
更详细信息查询
nslookup -d [其他参数] domain [dns-server]
//只要在查询的时候,加上-d参数,即可查询域名的缓存