• 调试 工具


    ss、
    lsof、
    traceroute
    tracepath
    nc、
    netstat、
    telnet
    wget和curl基础功能有诸多重叠,如下载等。
    在高级用途上的curl由于可自定义各种请求参数所以长于模拟web请求,用于测试网页交互(浏览器);wget由于支持ftp和Recursive所以长于下载,用于下载文件(迅雷)。
    1.下载文件
    curl -O http://man.linuxde.net/text.iso #O大写,不用O只是打印内容不会下载
    wget http://www.linuxde.net/text.iso #不用参数,直接下载文件
    2.下载文件并重命名
    curl -o rename.iso http://man.linuxde.net/text.iso #o小写
    wget -O rename.zip http://www.linuxde.net/text.iso #O大写
    3.断点续传
    curl -O -C -URL http://man.linuxde.net/text.iso #C大写
    wget -c http://www.linuxde.net/text.iso #c小写
    4.限速下载
    curl --limit-rate 50k -O http://man.linuxde.net/text.iso
    wget --limit-rate=50k http://www.linuxde.net/text.iso
    5.显示响应头部信息
    curl -I http://man.linuxde.net/text.iso
    wget --server-response http://www.linuxde.net/test.iso
    6.wget利器--打包下载网站
    wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/
     
    参考:
    http://man.linuxde.net/curl
    http://man.linuxde.net/wget
    https://www.zhihu.com/question/19598302
    nmap、
    其基本功能个:
    (1)是扫描主机端口,嗅探所提供的网络服务
    (2)是探测一组主机是否在线
    (3)还可以推断主机所用的操作系统,到达主机经过的路由,系统已开放端口的软件版本
     
    nmap端口状态解析
    open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。 
    closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
    filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
    unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
    open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
    closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的

     B机器上使用nmap扫描A机器所有端口(-p后面也可以跟空格)
    下面表示扫描A机器的1到65535所有在监听的tcp端口。
    nmap 10.0.1.161  -p1-65535
    指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口
    nmap-services是一个包含大约2200个著名的服务的数据库,Nmap通过查询该数据库可以报告那些端口可能对应于什么服务器,但不一定正确。
    所以正确扫描一个机器开放端口的方法是上面命令。-p1-65535

    TracePath
    Tracepath traces a path to a designated network address, reporting on the "time to live" or TTL lag and maximum transmission units (MTU) along the way. This command can be run by any user other with access to the command line prompt.
    Traceroute Basics
    Traceroute is essentially the same as Tracepath except that by default, it will only give the TTL value. If you want additional data, you must request those variables on the command line. Also, traceroute requires superuser access to run the command on a Linux box, and some advanced data requests may not be supported by all of the routers along the path. In a Windows environment, any user with access to the command line can run Traceroute.
    1、端口
    本地:ss netstat lsof
    远程:telnet、nmap,nc
    2、本地进程
    3、header(http code)curl -I 返回200就ok


    要判断系统瓶颈问题,时需几个 sar 命令选项结合起来
    怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
    怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
    怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

    mtr 和 ping traceroute 使用

    lsof

    ldd命令可以看到程序依赖库,但是有的动态库是使用dlopen接口隐式加载的方式加载起来的,这个时候使用ldd命令是看不见的。

    不过有另一个命令lsof,lsof命令可以看见运行中的进程加载了哪些动态库,lsof是list open file的简写,所以lsof还可以看见进程打开文件描述符。

    这个命令在排查进程加载so不成功的时候很有用。

  • 相关阅读:
    Markdown基础语法
    Java是什么
    myBatis框架_关于怎么获得多表查询的总记录数
    关于Could not load driverClass ${jdbc.driverClassName}问题解决方案
    java中String与StringBuffer拼接的区别
    部分标签
    基础标签 网页分类
    入坑小开头
    完整版的OpenLDAP搭建全过程
    测试Linux下tcp最大连接数限制
  • 原文地址:https://www.cnblogs.com/codestack/p/12158851.html
Copyright © 2020-2023  润新知