问题标签 [netcat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2239 浏览

python - Python 将 cmd.exe 绑定到端口

如何将 cmd.exe 绑定到 Python 中的端口?我想做与 Netcats "-e" 参数相同的事情。所以 Netcat 中的等价物是:

但我想自己用 Python 编写代码,而不使用 Netcat。那么这是怎么做到的呢?是否有任何功能/模块可以做到这一点?如何转换进程(cmd.exe)并使其成为服务器,以便在端口上运行?

0 投票
1 回答
400 浏览

function - netcat 命令的结果与字符串不合逻辑地匹配

我想测试远程端口是否打开,以了解我是否必须连接 telnet VNC Teamviewer 或其他任何东西。

我将有大约 10 个端口要测试,我正在为它编写一个脚本。在这一点上,我已经有了这个代码:

结果echo $res是这样的:

无论如何,我都显示了“接受”。我不知道为什么。有人可以解释我的错误在哪里吗?

0 投票
6 回答
26520 浏览

shell - 在后台 shell 脚本中使用 netcat/cat(如何避免停止(tty 输入)?)

摘要:如何在后台运行交互式任务?

详细信息:我试图在 ash shell (Busybox) 下运行这个简单的脚本作为后台任务。

我的脚本.sh&

但是脚本立即停止...

[1]+ 停止(tty 输入)myscript.sh

myscript.sh 内容...(仅相关部分,除此之外我捕获 SIGINT、SIGHUP 等)

通过简单的命令行测试,我发现 bot cat 和 netcat 尝试从 tty 读取。请注意,此 netcat 版本没有 -e 来抑制 tty。

现在可以做些什么来避免 myscript 停止?

我尝试过的事情没有任何成功:

1) netcat/cat ... < /dev/tty (或 的输出tty

2) 使用 () 在子 shell 中运行包含 cat 和 netcat 的块。这可能有效,但是如何获取猫的 PID?

交给各位专家...


问题依然存在。一个简单的测试供大家尝试:

1) 在一个终端运行 netcat -l -p 11111 (不带 &)

2)在另一个终端运行 netcat localhost 11111 & (这应该会在一段时间后停止并显示消息 Stopped (TTY input) )

如何避免这种情况?

0 投票
0 回答
438 浏览

netcat - 如何从压缩文件中读取 Stata 二进制格式

Stata 知识库包含一个关于从管道读取 ASCII 数据的注释,这将允许人们读取文件而无需将解压缩版本存储在磁盘上。我们从未使用那里显示的方法取得成功 - 我总是收到错误消息 mypipe.pip: not found。我们有数 TB 的数据压缩得非常好,所以这总是令人失望。我们很想知道它是否适用于其他任何人。

在对此进行调查时,我们发现了一种似乎更好的解决方法。与知识库建议不同,除了 ASCII 文件之外,它还可以处理 .dta 文件。这对我们来说非常有趣。这是通过 use命令的 http 选项完成的。

我们的第一个尝试是将文件 test.cgi 添加到我们的 webserverscgi-bin目录:

我们发现

可以从 Stata 工作,但这涉及到很多开销,因为文件在 LAN 上多次旋转,所以我们没有追求从 URL 中获取文件名或以其他方式使其实用。

我们正在开发一种替代方案,它不需要实际的网络服务器,甚至不需要 root 权限。这是通过 nc 命令完成的,该命令随大多数 Linux 发行版一起提供,也可用于 Windows。在 Stata 提示符下运行复合命令:

该命令设置计算机将标头和解压缩文件传输到从端口 8080 读取的第一个进程。由于 8080 是高端口,因此无需特殊权限即可使用它。在从该端口读取文件之前,此命令不会返回,届时它将向您显示确切的 Stata 请求。因为 & Stata 在 nc 等待时继续。然后

请注意,您不能使用“localhost”代替 127.0.0.1,因为该use命令不接受单部分主机名。

如果您的机器上没有 nc,请查找 ncat、netcat 或 socat。某些版本需要在端口号前加上“-p”。您可以在 Windows 机器上安装 nc 并且应该能够做同样的事情,但我们还没有尝试过。

这也可以用于 ascii 文件、加密文件、拆分文件,也许还有其他类型。如果只有 Stat/Transfer 会写入标准输出!

存在一个安全问题 - 您放弃了 Unix 权限位中的读取限制。它也比从磁盘读取未压缩文件要慢,但对我们来说仍然足够快。

我们一直在尝试将其打包成一个 ado 文件,但没有多大成功,因为用户友好的 ado 程序需要自己找到一个可用的端口,我们还没有看到一个好的方法来做到这一点,并进行通信又回到了use命令,对此我们也束手无策。我希望名单上的某个人可能会受到启发提出一种方法,或者 Statacorp 可能只是将解压缩合并到使用命令中。

丹尼尔·芬伯格 feenberg@nber.org

0 投票
1 回答
202 浏览

c - possible C code implementation ideas for a given shell script(related to ffmpeg)

The shell script i'm trying to implement goes like this,

what it does is to simply take in a stream of video input through network and do live video transcoding(with ffmpeg of course!) and streaming back the video through the net. my question is how should i go by to implement this functionality in a clean C code. i know i can use popen() to pipe such a command from a c code but i would like to do better. may be with sockets and staff... any pointers are appreciated.

AskLearnDo.

0 投票
1 回答
1599 浏览

cgi - 使用 netcat 作为简单的 CGI 服务器

我试图使用以下脚本来创建一个简单的 CGI 服务器(来自http://www.jfranken.de/homepages/johannes/vortraege/netcat_inhalt.en.html)。这更多地是关于它不起作用的技术原因,而不是这是否是一个好主意:

有谁知道为什么这不能正常工作?第一次执行时,它会在终端上打印“hi”,这是我所期望的。然后,我希望 netcat 在指定的端口上等待,准备生成该脚本的新副本,其中 STDOUT 与网络套接字相关联(因为 -e 标志)。因此,对指定端口的 HTTP GET 请求将收到文本“hi”。

实际发生的情况是,每个 GET 请求都会导致产生一个新的 netcat 进程,一次一个(我期望的),但是在我杀死最新的 netcat 进程之前,没有一个 GET 请求完成。那时,我发出的第一个 GET 请求以“hi”响应,所有其他请求都以失败的连接尝试返回。我怀疑这与我对 STDOUT 重定向细节的困惑有关,但我的理解是,每次有人连接时,这个脚本只会产生一个新版本,脚本的 STDIN/OUT 应该是网络套接字因为 -e netcat 标志。

0 投票
4 回答
22628 浏览

networking - 使用 UDP 的 netcat 的奇怪行为

我注意到与 netcat 和 UDP 一起使用的奇怪行为。我启动了一个监听 UDP 端口的 netcat 实例(实例 1):

所以我启动了另一个 netcat 实例(实例 2)并尝试将数据报发送到我的进程:

我看到了数据报。但是如果我关闭实例 2 并重新启动 netcat(实例 3):

我在实例 1 的终端上看不到数据报。显然,操作系统在实例 3 相对于实例 2 分配了不同的 UDP 源端口,问题就在那里:如果我使用相同的实例 2 源端口(例如 50000):

netcat 的实例 1 再次接收数据报。UDP是一种无连接协议,为什么?这是标准的 netcat 行为吗?

0 投票
2 回答
11977 浏览

bash - 有没有办法将命令输出的连续流发送到远程侦听器

我正在为 unix 使用 netcat。

当我跑步时python script.py &> logfile.txt,它会被连续捕获。

为了远程复制它,我尝试nc -l -p 8011了侦听器(客户端)和发送者(主机或服务器)的以下内容:

  1. python script.py &> nc 127.0.0.1 8011
  2. python script.py > nc 127.0.0.1 8011
  3. nc 127.0.0.1 8011 < python script.py

但似乎没有任何效果。请帮忙。

0 投票
1 回答
1549 浏览

netcat - Ubuntu 服务器上的 NMap(Mac 上的客户端)端口扫描

我必须扫描 Ubuntu 服务器(在我的 Mac 上作为虚拟机安装)以查找开放端口。我使用了 netcat 实用程序,它显示了我的虚拟机上所有开放端口的漂亮列表。但是,当我使用 NMap 时,它给了我一些奇怪的结果。

使用网猫:

nc -z 192.168.1.10 1-1023连接到192.168.1.10 22端口[tcp/ssh]成功!连接192.168.1.10 25端口[tcp/smtp]成功!连接192.168.1.10 53端口[tcp/domain]成功!连接192.168.1.10 80端口[tcp/http]成功!连接192.168.1.10 110端口[tcp/pop3]成功!连接192.168.1.10 139端口[tcp/netbios-ssn]成功!连接192.168.1.10 143端口[tcp/imap]成功!连接192.168.1.10 445端口[tcp/microsoft-ds]成功!连接192.168.1.10 993端口[tcp/imaps]成功!连接192.168.1.10 995端口[tcp/pop3s]成功!

命令 1:
nmap -sP -vv --packet-trace 192.168.1.10
结果:192.168.1.10 主机的 Nmap 扫描报告已启动(0.00096 秒延迟)。从以下位置读取数据文件:/usr/local/share/nmap Nmap 完成:在 0.07 秒内扫描 1 个 IP 地址(1 个主机启动)

命令2:
sudo nmap -sF -v -r 192.168.1.10

结果:在 2011-10-30 17:27 EDT 启动 Nmap 5.51 ( http://nmap.org ) 在 17:27 启动 Ping 扫描 正在扫描 192.168.1.10 [4 个端口] 在 17:27 完成 Ping 扫描,经过 3.02 秒(共 1 个主机)192.168.1.10 的 Nmap 扫描报告 [host down] 从以下位置读取数据文件:/usr/local/share/nmap 注意:主机似乎已关闭。如果它确实启动了,但阻止了我们的 ping 探测,请尝试 -Pn Nmap done: 1 IP address (0 hosts up) 在 3.15 秒内扫描到 Raw packet sent: 8 (304B) | 接收: 0 (0B)

当我尝试在具有类似设置(在 VM 上运行的 Ubuntu 服务器)的 Windows 客户端上运行 NMap 时,第二个命令运行良好。有人可以解释一下 Mac 上命令 1 和命令 2 的输出之间的悖论吗?

0 投票
2 回答
2169 浏览

sockets - netcat 可以监听远程计算机的端口吗?

我将脚本的输出中继到系统中的本地端口,即 -

$python 脚本.py | 数控 127.0.0.1 8033

假设我的电脑有 ip 10.0.0.3

现在,是否有可能其他计算机(例如 IP 10.0.0.4)可以通过 nc 或其他任何方式侦听此端口。请建议。