Linux常用命令之route、traceroute、ping与tcpdump

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

route:设置路由
  参数
    add:添加一条路由
    del:删除一条路由
    -net:目的地址是一个网络
    -host:目的地址是一个主机
    target:目的网络或主机
    netmask:目的地址的网络掩码
    gw:路由数据包通过的网关
    dev:为路由指定的网络接口

  路由类型
    主机路由:路由表中指向单个IP地址或主机名的路由,Flags字段为H
    网络路由:主机可以到达的网络,Flags字段为N
    默认路由:Destination为0.0.0.0,Gateway指向网关,Flags字段为G

  route 命令的输出项说明
    Destination:目标网段或者主机
    Gateway:网关地址
    Genmask:网络掩码
    Flags:标记
      U:路由是活动的
      H:目标是一个主机
      G:路由指向网关
      R:恢复动态路由产生的表项
      D:由路由的后台程序动态地安装
      M:由路由的后台程序修改
      !:拒绝路由
    Metric:路由距离,到达指定网络所需的中转数
    Ref:路由项引用次数
    Use:此路由项被路由软件查找的次数
    Iface:该路由表项对应的输出接口

  添加静态路由:ip route
    ip route 目标网络 目标网络掩码 下一跳地址
    ip route 192.168.100.0 255.255.255.0 192.168.100.1

  例子
    添加默认路由
    route add default gw 192.168.100.1

    添加主机路由
    route add -host 192.168.100.100 dev eth0:0
    route add -host 192.168.100.100 gw 192.168.100.1

    添加网络路由
    route add -net 192.168.100.0 netmask 255.255.255.0 eth0
    route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.1
    route add -net 192.168.100.0/24 eth0

    开机自启动默认路由
    echo "route add default gw 192.168.100.1" >>/etc/rc.local

    永久生效路由
    echo "any net 192.168.100.0/24 gw 192.168.100.1" >>/etc/sysconfig/static-routes

    删除路由(将添加路由中的add改为del,其它不变)
    route del default gw 192.168.100.1
    route del -host 192.168.100.100 dev eth0:0
    route del -host 192.168.100.100 gw 192.168.100.1
    route del -net 192.168.100.0 netmask 255.255.255.0 eth0

traceroute:跟踪路由(Ctrl+C可以终止)
    -w:设置判定网络不可达时间

    

 

ping:测试网络可达(Ctrl+C可以终止)
    -c 数字:指定ping的次数
    -i 数字:指定每次ping的时间间隔,单位为s
    -n:只输出数值,速度较快
    -s 数字:指定数据包大小

    

 

    ping www.baidu.com -c 1:只ping1次www.baidu.com

    

 

    ping www.baidu.com -c 3 -i 1:只ping3次www.baidu.com,每次间隔1s

    

 

tcpdump:抓包
    tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。支持网络层、协议、主机、网络或端口的过滤,且提供and、or、not等逻辑语句过滤不需要的数据包

  监视指定主机的数据包
      打印到达或从主机A发出的数据包
        tcpdump host A
      打印主机A与B或C之间来往的所有数据包
        tcpdump host A and \( B or C \)
      打印除了A与B交互的所有数据包
        tcpdump ip host A and not B
  监视指定网络的数据包
      打印与A网络上的主机交互的所有数据包
        tcpdump net ucb-ether
      打印所有通过网关A的ftp数据包,单引号可防止shell对括号中的内容进行错误解析
        tcpdump 'gateway A and (port ftp or ftp-data)'
      打印不是本地网络的数据包
        tcpdump ip and not net localnet
  监视指定协议的数据包
      打印长度超过300字节, 并且网关地址是A的IP数据包
        tcpdump 'gateway A and ip[2:2] > 300'
      打印TCP会话中的的开始和结束数据包, 并且数据包的源或目的不是本地网络上的主机
        tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet'
  监视指定主机和端口的数据包
      抓取主机A所有经过接口eth1接收的数据包,且端口号是80
        tcpdump -i eth1 -lnXps0 dst A and dst port 80 -c 10
  保存获取的数据包
        tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.100.0/24 -w./target.cap
          -i eth1 : 只抓经过接口eth1的包
          -t : 不显示时间戳
          -s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
          -c 100 : 只抓取100个数据包
          dst port ! 22 : 不抓取目标端口是22的数据包
          src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
          -w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值