我想知道每个 Linux 系统中都有哪些标准命令。
例如,如果你有一个 debian/ubuntu/redhat/suse/arch/slackware 等,你总会找到类似的命令:
cd、mkdir、ls、echo、grep、sed、awk、ping 等。
我知道提到的一些命令是 shell 内置的,但其他命令不是,但它们仍然存在(根据我目前的知识和经验)。
另一方面,像 gawk、parted、traceroute 和其他非常著名的命令等命令在不同的 Linux 发行版中没有默认安装。
我进行了不同的网络搜索,但我还没有找到直接的答案。
目的是我想创建一个 shell 脚本,如果脚本中使用的命令在系统中可用,它应该进行一些完整性检查。如果没有,它应该提示用户安装所需的二进制文件。
旧问题和标题(进一步向下查看更新的问题):
为什么 Nmap 碎片扫描仅适用于回溯?
我今天花了好几个小时试图使用 Wireshark 和 Nmap 安全扫描器来捕获和研究一些碎片化的 IPv4 数据包。
我尝试了几个不同的操作系统(Ubuntu 和 Debian),但令我惊讶的是,Wireshark 只会捕获正常的数据包。
从 Backtrack live CD 启动相同的 Nmap 扫描后,它起作用了!
因此,据我所知,如果它适用于出于安全目的而进行了调整的 Backtrack,则必须有一些东西(可能是设置)可以防止将碎片数据包发送到其他操作系统。
经过大量的谷歌搜索后,我没有找到可能发生这种情况的原因。知道这必须是什么,以及是否可以从 Ubuntu 或 Debian 操作系统执行 IP 碎片扫描?
更新的问题:当我最初问这个问题时,我认为这可能是一个与操作系统相关的问题,但事实证明它可能是一个与硬件相关的问题,因为我设法使用 Ubuntu 虚拟机进行了碎片扫描。
所以我可以从运行在我的物理机上的虚拟机运行 nmap 碎片扫描,但不能从我的物理机本身运行。
是否有任何内核设置(在 /proc 下?)防止这种情况发生,或者是硬件限制而我对此无能为力?