netstat
netstat输出网络子系统的信息。输出信息类型由第一个参数决定。
netstat -s[-u|-t|-w],--statistics
输出汇总数据情况
netstat -r,--route
查看路由表 和route一样
netstat -i,--interface=if
interface信息 和ifconfig类似
netstat -M,--masquerade
显示伪连接列表。
netstat -g,--groups
多播组成员信息。
而默认情况下,netstat输出系统连接情况和打开的socket列表。如果没有给定特定的地址族,那么所有被配置的地址族的活动socket信息会被全部打印出来。
输出结果可以分为两个部分
Active Internet connections 连接情况
Active UNIX domain sockets 端口情况
默认情况下,netstat不输出监听状态下的连接和端口。可以使用-l参数。
netstat 的常用参数:
-t TCP连接
-u UDP连接
-l 显示监听中的服务器的Socket
-p 显示正在使用Socket的程序名称和PID
-n 直接使用IP地址,而不通过域名服务器
-a 显示所有连接中的Socket
-s 查看正在使用的所有协议使用情况
-v 查看正在进行的工作
例子:
netstat -tl 查看当前tcp监听端口
netstat -tlp 查看当前tcp监听端口, 需要显示监听的程序名
netstat -nlp
输出标识含义:
Recv-Q 未被socket连接的用户程序复制的字节数
Send-Q 未被远程主机确认的字节数
State
socket 的状态。由于在 raw 模式下无状态,同时在 udp 模式下一般也无状态, 所以该栏在大多情况下都是空白的。通常状态值可以为以下几种:
ESTABLISHED
socket 拥有已建立的连接。
SYN_SENT
socket 正在尝试建立连接。
SYN_RECV
已从网络获得一个连接请求。
FIN_WAIT1
socket 被关闭, 连接被停止。
FIN_WAIT2
连接被关闭, socket 在等待远端关闭。
TIME_WAIT
socket 被关闭后仍在等待, 以处理仍然存在在网络中的包。
CLOSED
socket 未被使用。
CLOSE_WAIT
远端已关闭, 在等待 socket 的关闭。
LAST_ACK
远端及 socket 都已关闭, 等待最后的确认。
LISTEN
socket 正在监听传入的连接。这些 socket 不会被输出, 除非使用了 -l 或 -a 选项。
CLOSING
两端的 socket 都已关闭, 但是仍未将本端数据传输完毕。
UNKNOWN
socket 状态未知。
-n 使用IP显示路由
-ee 列出详细信息
route输出有flags这个域,标志的意义如下:
U (route is up):该路由已启动;
H (target is a host):目标是一个主机( IP )
G (use gateway):用来作为 gateway 的设置
R (reinstate route for dynamic routing):使用动态路由时,恢复路由信息
D (dynamically installed by daemon or redirect):动态路由
M (modified from routing daemon or redirect):路由已经被修改了;
! (reject route) 路由拒绝
路由表操作
route add [-net|-host] 目标主机或网段 [netmask] [gw|dev]
route del [-net|-host] 目标主机或网段 [netmask] [gw|dev]
add del 增加/删除路由
gw gateway 网关
dev 设备
下例:
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default gw 192.168.1.2 # 默认路由
route add -net 10.0.0.0 netmask 255.0.0.0 reject # 拒绝路由设置 flags -> !
route add -host h1 dev eth0 # flags -> UH
route del -host h1
traceroute
ifconfig
默认为输出所有启用网卡的参数情况
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
修改MAC地址
当有多张网卡(eth0 eth1...)需要都取出ip时,可以下面这样做:
for x in $(/sbin/ifconfig | grep eth -n | awk -F: '{print $1+1}') \
do /sbin/ifconfig | sed -n ${x}p | \
awk -F: '{print $2}' | awk '{print $1}'; done
ifconfig eth0 up 或者是 ifconfig eth0 down
可以使用 ifup eth0 或 ifdown eth0
nslookup
查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
nslookup是交互式的命令。输入nslookup进入。如果named正常启动,则nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。
nslookup的基本DNS诊断:
1. 检查正向DNS解析,在nslookup提示符下输入带域名的主机名,如host.domain.com,nslookup应能显示该主机名对应的IP地址。如果只输入host,nslookup会根据/etc/resolv.conf的定义,自动添加.domain.com域名,并回答对应的IP地址。
2. 检查反向DNS解析,在nslookup提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地址所对应的主机名。
3. 检查MX邮件地址记录在nslookup提示符下输入:set q=mx ,然后输入某个域名,输入qq.com,nslookup应能够回答对应的邮件服务器地址。
host
DNS查询工具 用法很简单 不多说了
dig
dig 比 nslookup 的功能更强大,显示的信息更全面,可以直接替代 nslookup 使用了。
当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。
最基本的用法:
dig @server name [type] [class] [query_option...]
server: name server的名称或者IP。如果不指定,dig从/etc/resolv.conf查询。
name: 查询条目的名称
type: 查询类型. (ANY A MX SIG 等等) 如果不指定,默认查询A记录。同 -t type
-f filename
执行文件中写入的查询,每行一个。
-b address
配置所要询问地址的源 IP 地址。这必须是主机网络接口上的某一合法的地址。
-c class
缺省查询类(IN for internet)。class 能够是任何合法类,比如查询 Hesiod 记录的 HS 类或查询 CHAOSNET 记录的 CH 类。
-p port#
假如需要查询一个非标准的端口号,则使用选项 -p。port# 是 dig 将发送其查询的端口号,而不是标准的 DNS 端口号 53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器。
-x addr 逆向查询(将地址映射到名称)能够通过 -x 选项加以简化。addr 是个以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址。当使用这个选项时,无需提供 name、class 和 type 参数。dig 自动运行类似 11.12.13.10.in-addr.arpa 的域名查询,并分别配置查询类型和类为 PTR 和 IN。
query_option
dig 提供查询选项号,他影响搜索方式和结果显示。每个查询选项有前缀+。他们的格式形如 +keyword=value。查询选项是:
+[no]nssearch
这个选项被配置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]trace
转换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。他将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]tcp
查询域名服务器时使用 [不使用] TCP。缺省行为是使用 UDP,除非是 AXFR 或 IXFR 请求,才使用 TCP 连接。
+[no]ignore
忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+[no]search
使用[不使用]搜索列表或 resolv.conf 中的域伪指令(假如有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]recursive
转换查询中的 RD(需要递归)位配置。在缺省情况下配置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]short
提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
当启用 +short 选项时,显示 [或不显示] 提供给答的 IP 地址和端口号。假如请求简短格式应答,缺省情况不显示提供给答的服务器的源地址和端口号。
+[no]comments
转换输出中的注释行显示。缺省值是显示注释。
+[no]stats
该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]qr
显示 [不显示] 发送的查询请求。缺省不显示。
+[no]question
当返回应答时,显示 [不显示] 查询请求的问题部分。缺省作为注释显示问题部分。
+[no]answer
显示 [不显示] 应答的回答部分。缺省显示。
+[no]authority
显示 [不显示] 应答的权限部分。缺省显示。
+[no]additional
显示 [不显示] 应答的附加部分。缺省显示。
+[no]all
配置或清除任何显示标志。
+time=T
为查询配置超时时间为 T 秒。缺省是5秒。假如将 T 配置为小于1的数,则以1秒作为查询超时时间。
netstat输出网络子系统的信息。输出信息类型由第一个参数决定。
netstat -s[-u|-t|-w],--statistics
输出汇总数据情况
netstat -r,--route
查看路由表 和route一样
netstat -i,--interface=if
interface信息 和ifconfig类似
netstat -M,--masquerade
显示伪连接列表。
netstat -g,--groups
多播组成员信息。
而默认情况下,netstat输出系统连接情况和打开的socket列表。如果没有给定特定的地址族,那么所有被配置的地址族的活动socket信息会被全部打印出来。
输出结果可以分为两个部分
Active Internet connections 连接情况
Active UNIX domain sockets 端口情况
默认情况下,netstat不输出监听状态下的连接和端口。可以使用-l参数。
netstat 的常用参数:
-t TCP连接
-u UDP连接
-l 显示监听中的服务器的Socket
-p 显示正在使用Socket的程序名称和PID
-n 直接使用IP地址,而不通过域名服务器
-a 显示所有连接中的Socket
-s 查看正在使用的所有协议使用情况
-v 查看正在进行的工作
例子:
netstat -tl 查看当前tcp监听端口
netstat -tlp 查看当前tcp监听端口, 需要显示监听的程序名
netstat -nlp
输出标识含义:
Recv-Q 未被socket连接的用户程序复制的字节数
Send-Q 未被远程主机确认的字节数
State
socket 的状态。由于在 raw 模式下无状态,同时在 udp 模式下一般也无状态, 所以该栏在大多情况下都是空白的。通常状态值可以为以下几种:
ESTABLISHED
socket 拥有已建立的连接。
SYN_SENT
socket 正在尝试建立连接。
SYN_RECV
已从网络获得一个连接请求。
FIN_WAIT1
socket 被关闭, 连接被停止。
FIN_WAIT2
连接被关闭, socket 在等待远端关闭。
TIME_WAIT
socket 被关闭后仍在等待, 以处理仍然存在在网络中的包。
CLOSED
socket 未被使用。
CLOSE_WAIT
远端已关闭, 在等待 socket 的关闭。
LAST_ACK
远端及 socket 都已关闭, 等待最后的确认。
LISTEN
socket 正在监听传入的连接。这些 socket 不会被输出, 除非使用了 -l 或 -a 选项。
CLOSING
两端的 socket 都已关闭, 但是仍未将本端数据传输完毕。
UNKNOWN
socket 状态未知。
route
显示/修改路由表
route -nee-n 使用IP显示路由
-ee 列出详细信息
route输出有flags这个域,标志的意义如下:
U (route is up):该路由已启动;
H (target is a host):目标是一个主机( IP )
G (use gateway):用来作为 gateway 的设置
R (reinstate route for dynamic routing):使用动态路由时,恢复路由信息
D (dynamically installed by daemon or redirect):动态路由
M (modified from routing daemon or redirect):路由已经被修改了;
! (reject route) 路由拒绝
路由表操作
route add [-net|-host] 目标主机或网段 [netmask] [gw|dev]
route del [-net|-host] 目标主机或网段 [netmask] [gw|dev]
add del 增加/删除路由
gw gateway 网关
dev 设备
下例:
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route del -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default gw 192.168.1.2 # 默认路由
route add -net 10.0.0.0 netmask 255.0.0.0 reject # 拒绝路由设置 flags -> !
route add -host h1 dev eth0 # flags -> UH
route del -host h1
检测服务器响应速度
traceroute
信息从本主机到另一端的主机走的路径及其情况。
ifconfig
默认为输出所有启用网卡的参数情况
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
修改MAC地址
当有多张网卡(eth0 eth1...)需要都取出ip时,可以下面这样做:
for x in $(/sbin/ifconfig | grep eth -n | awk -F: '{print $1+1}') \
do /sbin/ifconfig | sed -n ${x}p | \
awk -F: '{print $2}' | awk '{print $1}'; done
ifconfig eth0 up 或者是 ifconfig eth0 down
可以使用 ifup eth0 或 ifdown eth0
nslookup
查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
nslookup是交互式的命令。输入nslookup进入。如果named正常启动,则nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。
nslookup的基本DNS诊断:
1. 检查正向DNS解析,在nslookup提示符下输入带域名的主机名,如host.domain.com,nslookup应能显示该主机名对应的IP地址。如果只输入host,nslookup会根据/etc/resolv.conf的定义,自动添加.domain.com域名,并回答对应的IP地址。
2. 检查反向DNS解析,在nslookup提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地址所对应的主机名。
3. 检查MX邮件地址记录在nslookup提示符下输入:set q=mx ,然后输入某个域名,输入qq.com,nslookup应能够回答对应的邮件服务器地址。
host
DNS查询工具 用法很简单 不多说了
dig
dig 比 nslookup 的功能更强大,显示的信息更全面,可以直接替代 nslookup 使用了。
当未指定任何命令行参数或选项时,dig 将对“.”(根)执行 NS 查询。
最基本的用法:
dig @server name [type] [class] [query_option...]
server: name server的名称或者IP。如果不指定,dig从/etc/resolv.conf查询。
name: 查询条目的名称
type: 查询类型. (ANY A MX SIG 等等) 如果不指定,默认查询A记录。同 -t type
-f filename
执行文件中写入的查询,每行一个。
-b address
配置所要询问地址的源 IP 地址。这必须是主机网络接口上的某一合法的地址。
-c class
缺省查询类(IN for internet)。class 能够是任何合法类,比如查询 Hesiod 记录的 HS 类或查询 CHAOSNET 记录的 CH 类。
-p port#
假如需要查询一个非标准的端口号,则使用选项 -p。port# 是 dig 将发送其查询的端口号,而不是标准的 DNS 端口号 53。该选项可用于测试已在非标准端口号上配置成侦听查询的域名服务器。
-x addr 逆向查询(将地址映射到名称)能够通过 -x 选项加以简化。addr 是个以小数点为界的 IPv4 地址或冒号为界的 IPv6 地址。当使用这个选项时,无需提供 name、class 和 type 参数。dig 自动运行类似 11.12.13.10.in-addr.arpa 的域名查询,并分别配置查询类型和类为 PTR 和 IN。
query_option
dig 提供查询选项号,他影响搜索方式和结果显示。每个查询选项有前缀+。他们的格式形如 +keyword=value。查询选项是:
+[no]nssearch
这个选项被配置时,dig 试图寻找包含待搜名称的网段的权威域名服务器,并显示网段中每台域名服务器的 SOA 记录。
+[no]trace
转换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。他将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]tcp
查询域名服务器时使用 [不使用] TCP。缺省行为是使用 UDP,除非是 AXFR 或 IXFR 请求,才使用 TCP 连接。
+[no]ignore
忽略 UDP 响应的中断,而不是用 TCP 重试。缺省情况运行 TCP 重试。
+[no]search
使用[不使用]搜索列表或 resolv.conf 中的域伪指令(假如有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]recursive
转换查询中的 RD(需要递归)位配置。在缺省情况下配置该位,也就是说 dig 正常情形下发送递归查询。当使用查询选项 +nssearch 或 +trace 时,递归自动禁用。
+[no]short
提供简要答复。缺省值是以冗长格式显示答复信息。
+[no]identify
当启用 +short 选项时,显示 [或不显示] 提供给答的 IP 地址和端口号。假如请求简短格式应答,缺省情况不显示提供给答的服务器的源地址和端口号。
+[no]comments
转换输出中的注释行显示。缺省值是显示注释。
+[no]stats
该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
+[no]qr
显示 [不显示] 发送的查询请求。缺省不显示。
+[no]question
当返回应答时,显示 [不显示] 查询请求的问题部分。缺省作为注释显示问题部分。
+[no]answer
显示 [不显示] 应答的回答部分。缺省显示。
+[no]authority
显示 [不显示] 应答的权限部分。缺省显示。
+[no]additional
显示 [不显示] 应答的附加部分。缺省显示。
+[no]all
配置或清除任何显示标志。
+time=T
为查询配置超时时间为 T 秒。缺省是5秒。假如将 T 配置为小于1的数,则以1秒作为查询超时时间。
还有iptables 和 ip ,就不是这样一篇文章能够放得下了。