1.两台主机的两点沟通:ping
(主要通过ICMP数据包来进行整个网络的状态报告)
ping [参数与选项] IP
参数与选项:
-c 数值:后面接执行ping次数,eg:-c 5
-n :直接使用IP输出
-s 数值:发出去的ICMP数据包大小
-t 数值:TTL数值,默认为255,每经过一个节点就会少1
-M [do|dont]:主要检测网络的MTU数值大小
do : 代表传送一个DF(Don't Fragment)标志,让数据包不能重新拆包与打包
dont:代表不要传送DF(Don't Fragment)标志,表示数据包在其他主机上拆包与打包
64 bytes :表示这次发送的ICMP数据包为 64 bytes,这是默认值,可以用-s更改
icmp_seq=1:ICMP检测的次数,第一次编号为1
ttl=64:生存周期,每经过一个带有MAC节点就会减1,-t可以指定
如果你的主机和待测主机不在同一个网络内,那么TTL默认使用255,
如果是在同一个网络内,默认为64
time:响应时间,越小的响应时间,表示两个主机的连接越良好
eg:
# ping -c 2 -s 1000 -M do 192.168.1.254
2.两主机间各节点分析:traceroute
traceroute [options] IP
options:
-n:不必进行主机的名称解析,单纯用IP,速度快
-U:使用UDP检测,默认的检测协议
-I:使用ICMP方式进行检测
-T:使用TCP检测,一般使用port 80检测
-w:若对方主机在几秒内没回应则证明不通,默认为5s
-p 端口号:若不行用UDP和TCP默认端口检测,可以在此改变端口号
-i: 用在复杂的网络环境 ,如果网络接口很复杂时,才会用到这个参数
# traceroute -w 3 -n -T www.baidu.com
3.查看本机的网络连接与后门netstat
(1)显示网络连接:
netstat - [rn] <==与路由有关的参数
-r:列出路由表,如同route
-n: 数字格式,不使用主机名与服务名称,如同route -n
netstat -[antulpc] <==与网络接口有关的参数
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID
-c:可以设置几秒自动更新一次
(2)常用组合:
-tan, -uan, -tnl, -unl
(3)显示接口统计数据:
netstat -i
netstat –I=IFACE
ifconfig -s eth0
eg:
# netstat -tulnp 显示目前已启动的网络服务
# netstat -atunp 查看本机上所有的网络连接状态
Proto:该链接的数据包协议
Recv-Q:由非用户程序连接所复制而来的总bytes数
Send-Q:由远程主机发送而来,但不具有ACK标志的总bytes数,亦指主动连接SYN或其它标志的数据包所占的bytes数
Local Address:本地端的地址
Foreign Adress:远程的主机IP与port number
Stat:状态栏,主要的状态有:
ESTABLISHED:已建立连接的状态
SYN_SENT:发出主动连接(SYN标志)的连接数据包
SYN_RECV:接收到一个要求连接的主动连接的数据包
FIN_WAIT1:该套接字服务(socket)已中断,该链接正在断线当中
FIN_WAIT2:该链接已挂断,但正在等待对方主机响应断线确认的数据包
TIME_WAIT:该链接已挂断,但socket还在网络上等待结束
LISTEN:通常用在服务的监听port,可使用“-l”参数查阅
PID:进程号client端是随机开放一个大于1024port进行连接,
此外只有root可以启动小于1024port
4.ss命令
ss [OPTION]... [FILTER]
- (netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag
模块通信获取socket信息)
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
- 常用组合:-tan, -tanl, -tanlp, -uan
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh)' 显示所有已建立的ssh连接
ss -o state established '( dport = :http or sport =:http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息
5.检测主机名与IP的对应:host、nslookup
(1)host 查处某个主机名的IP
host [-a] hostname [server]
-a 列出该主机详细的各项主机名设置数据
[server] 可以使用不是由/etc/resolv.conf文件定义的DNS服务器IP来查询
dig命令更详细,如有需要可以查询
eg:
# host www.baidu.com
# host www.baidu.com 211.161.46.84(指定DNS)
(2)配置当前主机的主机名:
/etc/sysconfig/network
HOSTNAME=
(3)解析器执行正向和逆向查询
(4)/etc/hosts
• 本地主机名数据库和IP地址的映像
• 对小型独立网络有用
• 通常,在使用DNS前检查
• getent hosts 查看/etc/hosts 内容
(2)nslookup
IP<======>主机名
nslookup [-query=[type]] [hostname|IP]
-query=type:查询的类型
eg:
# nslookup www.gooogle.com
# nslookup 172.18.252.101