小编Sop*_*rez的帖子

Bash:尝试将数据直接回显到网络时权限被拒绝

我正在尝试按照此线程中的说明将字符直接发送到网络堆栈。

即使该过程在 CygWin (Windows) 下运行正常,相同的行在 Ubuntu v14.04 上也会失败:

luis@Zarzamoro:~$ sudo echo -e "\xff">/dev/udp/255.255.255.255/4000
-bash: connect: Permission denied
-bash: /dev/udp/255.255.255.255/4000: Permission denied
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu for PC 上测试:

luis@Lamborghini:~$ bash --version
GNU bash, versión 4.3.11(1)-release (i686-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)

和适用于 RaspBerry Pi 2 的 Ubuntu:

luis@Zarzamoro:~$ bash --version
GNU bash, version 4.3.11(1)-release (arm-unknown-linux-gnueabihf)
Run Code Online (Sandbox Code Playgroud)

通过将字符直接发送到 NIC而不是使用 netcat 或 socat 来执行此操作对于某些具有相当现代 Bash 版本但不允许(或难以实现)安装的路由器或嵌入式设备(如 NAS)很有用额外的工具。

为什么会发生这种情况,我该如何解决?

也测试过:

luis@Zarzamoro:~$ sudo bash -c 'echo -e "\xff" >/dev/udp/255.255.255.255/4000'
bash: connect: Permission denied
bash: /dev/udp/255.255.255.255/4000: Permission denied
Run Code Online (Sandbox Code Playgroud)

和: …

networking bash ip udp

5
推荐指数
1
解决办法
9172
查看次数

我如何知道我的内核是否支持 ExFAT?

我想知道我安装的 Linux 发行版的内核是否会读取某些 ExFAT 格式的 SD 卡(或 Pendrive、USB 硬盘等)。

我知道,自 2013 年左右以来,大多数内核都包含此功能,但我认为会有一些标志会报告它,而且,只要我使用过不同的发行版,在我看来,检查是否存在更容易标志比下载和安装完整的 Linux 发行版并插入 SD 卡。

此外,有时无法正确读取 ExFAT SD 卡,了解问题是否来自内核会很有用。

是否有任何标志或简单/快速的命令行方法可以了解我的内核是否支持ExFAT 文件系统

filesystems kernel fuse

4
推荐指数
2
解决办法
5335
查看次数

Linux:用于轻松更改实际无线“连接到”网络的命令行工具?

这个问题来自 Software Recomendations StackExchange 站点。一开始我认为这是合适的地方,但有些人建议这个 Unix 论坛更适合。

当操作系统有多个可用的无线网络(并且已知,这是:在其“首选”列表中)时,它应该对它们之间的漫游进行智能管理,通常连接到最好的一个(通过几个因素来衡量,例如覆盖范围或速度)。

但是,当使用某些 Linux 发行版(例如用于安全审计的发行版)时,我发现这种管理并不那么智能:有时网络会停止运行(表现不完全正常)并且操作系统仍保留在该无线网络上。

因此,我正在考虑自己编写一个脚本,以强制 Linux 在连接速度减慢或直接失败时选择另一个无线网络(也许可以通过 ping 路由器/接入点来检查)。
对于我所读到的有关命令行无线管理的内容,“连接到”的事情似乎有点尴尬:发出多个命令、编辑文件......等。

有谁知道在 Linux 下运行的一个好的“切换到网络”命令行工具?请记住,我不需要连接到新网络:我只想连接到已经连接的网络,因此操作系统应该知道密码、加密数据等。

可能的命令行示例:

switchtowifi --essid MyWiFiNetwork
switchtowifi --essid MyWiFiNetwork --bssid 11:22:33:44:55:66
switchtowifi --channel 5
Run Code Online (Sandbox Code Playgroud)

第一个示例切换到任何已存储的名为 的 WiFi 网络MyWiFiNetwork
第二个示例切换到已存储的 WiFi 网络,MyWiFiNetwork其 BSSID 为11:22:33:44:55:66
第三个示例切换到频道 5 上任何已存储的 WiFi 网络。

wifi

4
推荐指数
1
解决办法
4412
查看次数

我的 shell 脚本中的 pgrep:不计算脚本本身?

pgrep这是我的FreeBSD脚本的行为:

luis@Balanceador:~/Temporal$ cat test.sh
#!/usr/bin/env bash
pgrep -fl "test.sh"

luis@Balanceador:~/Temporal$ ./test.sh
luis@Balanceador:~/Temporal$
Run Code Online (Sandbox Code Playgroud)

无输出。这是:脚本本身未被检测为正在运行。就像 的命令行行为一样pgrep。这对我来说很好。

这是Linux (Ubuntu) 的情况:

luis@Terminus:~/Temporal$ cat test.sh
#!/usr/bin/env bash
pgrep -fl "test.sh"

luis@Terminus:~/Temporal$ ./test.sh
4514 bash
luis@Terminus:~/Temporal$
Run Code Online (Sandbox Code Playgroud)

可以看出,test.sh脚本本身似乎被检测为正在运行的进程。

我正在开发一个 shell (Bash)脚本,如果检测到它的另一个实例(同名),它必须能够停止并等待,并且必须在 Linux 和 FreeBSD 上工作,所以我想为此同质化 pgrep 命令。

有什么办法可以让他们两个表现得一样吗

任何类似grepps接受的衍生品的答案。

测试

来自手册页的-x(确切的)开关,但不适用于脚本上的参数(或者我不明白如何使其工作)。在这种情况下,参数对于检测并不重要(它们可以是任何参数);我只需要检测主“.sh”脚本。

进一步说明

  • 请不要回答“使用文件锁定”之类的问题。其实我想了解一下这个pgrep工具。

grep

4
推荐指数
1
解决办法
5474
查看次数

哪些 Linux shell 允许通过重定向器进行网络流量管理(向/从 `/dev/tcp/host/port` 发送/接收数据)?

按照此Bash 教程,我已成功使用此方法获取发出简单命令网页代码:

$ exec 3<>/dev/tcp/www.google.com/80
$ echo -e "GET / HTTP/1.1\n\n" >&3
$ cat <&3
Run Code Online (Sandbox Code Playgroud)

确实,我得到了基本的 Google html 站点代码:

HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: http://www.google.es/?gfe_rd=cr&ei=HsiuVafkLpGt8weX7o-YAg
Content-Length: 258
Date: Tue, 21 Jul 2015 22:30:54 GMT
Server: GFE/2.0
Alternate-Protocol: 80:quic,p=0

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.es/?gfe_rd=cr&amp;ei=HsiuVafkLpGt8weX7o-YAg">here</A>.
</BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

这个技巧对我很有用。比如我已经成功用它来发送Magic Packets(Wake on LAN)(类似的例子)。

哪些 shell 允许通过使用简单的命令和重定向程序将数据直接发送到网络?
当然,除了 Bash。

此信息用于了解这些系统是否具有此功能:

  • 带有嵌入式 Linux 的路由器
  • 常见的安卓外壳。
  • iOS …

shell networking io-redirection

3
推荐指数
1
解决办法
2105
查看次数

如何检查我的系统中是否已经安装了某个补丁?

我即将为名为Compat Wireless 的无线驱动程序安装补丁,以解决我的Ubuntu Linux v12.04Kali Linux v1.0.9上的 WiFi 通道(它锁定不存在的 -1 通道)的问题。

但首先我想知道这个补丁是否已经安装(为什么要安装我有的东西?)。

我已经做了一些研究,但我找不到一种方法来知道我的补丁是否已经存在,也找不到列出已安装补丁的通用方法。我什至不知道是否有可能从正在运行的 Linux 获取此类信息。

有什么想法吗?

kernel patch

2
推荐指数
1
解决办法
9596
查看次数

在启动时启动驱动程序的正确方法是什么?

我已经成功安装了一些以太网卡这里有完整的故事),根据文档,必须手动启动

# modprobe e1000bp
Run Code Online (Sandbox Code Playgroud)

我希望在启动时执行此驱动程序启动。

实现这一目标的正确方法是什么?

我想将命令添加到/etc/rc.local,但对于 PPTP 或 OpenVPN 连接,还有另一种方法应该更干净,所以我想知道是否可以将相同的方法告知驱动程序启动。

linux startup drivers modprobe

2
推荐指数
1
解决办法
1万
查看次数

pfSense:我可以为`make` 命令安装什么包?

我已经安装了 pfSense(基于FreeBSD)以进行测试和学习。

我想做的第一件事是安装一些未检测到的网卡(Silicom PXG6BPi)驱动程序,但它需要使用命令编译其源代码make,所以我发出:

[2.2.6-RELEASE][admin@pfSense.localdomain]/root: pkg search make
R-cran-pkgmaker-0.22           Package development utilities
automake-1.15_1                GNU Standards-compliant Makefile generator
automake-wrapper-20131203      Wrapper script for GNU automake
bmake-20151022                 Portable version of NetBSD 'make' utility
ciso-maker-1.02                Tool to compress ISO images to CSO format
cmake-3.4.1                    Cross-platform Makefile generator
cmake-fedora-2.3.4             Set of cmake modules for fedora developers
cmake-gui-3.4.1                Qt-based GUI for CMake
cmake-modules-3.4.1            Modules and Templates for CMake
cmake-modules-webos-1.0.b      CMake modules needed to build WebOS components
colormake-0.9_1                Wrapper to color …
Run Code Online (Sandbox Code Playgroud)

freebsd compiling package-management pfsense

1
推荐指数
1
解决办法
3148
查看次数