第八篇 网络分析工具

1 ping

  • ping —Packet Internet Groper(因特网包探索器);
  • 原理:发送一个ICMP(Internet Control Messages Protocol,因特网信报控制协议),请求消息给目的地并报告是否收到所洗完的ICMP echo(ICMP回声应答);
  • 作用:用来检查网络是否通畅或者网络连接速度
  • 使用ping检查连通性有以下6个步骤:
    1.使用ifconfig/all观察本地网络设置是否正确;
    2.ping 127.0.0.1,来检查本地的TCP/IP协议有没有设置好;
    3.ping 本机IP地址,这样是为了检查本机的IP地址是否设置有误;
    4.ping 本网网关或本网IP地址,这样是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常。(在非局域网中这一步可以忽略);
    5.ping 本地DNS地址,这样做是为了检查本地DNS服务器是否工作正常;
    6.ping 远程IP地址,这主要是检查本网或本机与外部的连接是否正常
  • 差异:
    linux的ping数据包是64Byte,而Windows的是32Byte, Windows下默认发送4次数据包后结束,Linux下的ping程序默认不停发送数据包,直到用户手动停止(停止命令是Ctrl+C)

2 tcpdump

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助去掉无用的信息。

  • 参数:
    -i:指定tcpdump监听的网络几面
    -c:指定要监听的数据包数量
    -w:指定将监听到的数据写入文件中保存
  • 示例:
    1.截取某主机相关的包
    a.想要截获所有210.27.48.1的主机收到的和发出的所有数据包:
    tcpdump host 210.27.48.1
    b.想要截获主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信:
    tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3)
    c.如果想要获取主机210.27.48.1除了和主机210.27.48.2之外的所有主机通信的ip包:
    tcpdump ip host 210.27.48.1 and !210.27.48.2
    2.截取某端口相关的包
    tcpdump port 6666
    3.截取某网卡的包
    tcpdump -ieth1

3 netstat

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

  • 实例:
    1.列出所有端口(包括监听和未监听的):netstat -a
    2.列出所有TCP端口:netstat -at
    3.列出所有UDP端口:netstat -au
    4.列出所有处于监听状态的socket:netstat -l
    5.列出所有监听TCP端口的socket:netstat -lt
    6.列出所有监听UDP端口的socket:netstat -lu
    7.列出所有监听UNIX端口的socket:netstat -lx
    8.在netstat输出中显示PID和进程名称:netstat -p
    9.当你不想让主机,端口和用户名显示,使用netstat -n,将会使用数字代替那些名称
    10.持续输出netstat信息:netstat -c
    11.找出程序运行的端口:netstat -ap | grep ssh
    12.找出运行在指定端口的进程:netstat -an | grep ‘:80’
    13.显式网络接口列表:netstat -i
    14.IP和TCP的分析,如查看链接某服务器端口最多的IP地址命令是:
    netstat -nat | grep “192.168.1.15:22” |awk ‘{print $5}’|awk -F:’{print $1}’|sort|uniq -c |sort -nr|head -20
    15.TCP各自状态列表:netstat -nat | awk ‘{print $6}’
    16.先把各种TCP状态全取出来,然后使用uniq -c统计,之后再进行排序:netstat -nat | awk ‘{print $6}’ | sort | uniq -c

4 lsof

lsof(list open file)是一个列出当前系统打开文件的工具。
通过lsof工具能够查看这个列表对系统监测

  • 语法格式:lsof [options] filename
  • 参数列表:
    1.lsof filename 显示打开指定文件的所有进程
    2.lsof -a 表示两个参数都必须满足时才显示结果
    3.lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
    4.lsof -u username 显示所属user进程打开的文件
    5.lsof -g gid 显示归属gid的进程情况
    6.lsof +d /DIR/ 显示目录下被进程打开的文件
    7.lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
    8.lsof -d FD 显示指定文件描述符的进程
    9.lsof -n 不将IP转换为hostname,缺省是不加上-n参数
    10.lsof -i 用以显示符合条件的进程情况
  • 常用命令:
    1.查看6666端口现在运行情况:lsof -i :6666
    2.查看所属root用户进程所打开的文件,文件类型为.txt :lsof -a -u root -d txt
    3.监控打开的文件和设备。查看设备/dev/tty1被哪些进程占用的命令:lsof /dev/tty1
    4.监控程序。如查看指定程序server打开的文件:lsof -c server
    5.监控用户。如查看指定用户root打开的文件:lsof -u root.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值