我想测试主机上的特定端口是否打开。我在用:
nc -z host 22
nc -z host 80
nc -z host 443
nc -z host 8080
Run Code Online (Sandbox Code Playgroud)
这是有效的,但最好使用像这样的单线:
nc -z host 22 80 443 8080
Run Code Online (Sandbox Code Playgroud)
这不起作用。
nc -z host 22-8080如果可能,我想避免使用手册页中所述的端口范围,因为我要检查的端口 #s 中存在很大差距。另外,我不想扫描每个端口并被视为扫描开放端口。
没有编写 bash 循环,我有哪些测试端口是否打开的选项?我有几十个主机,每个主机都有几个端口要检查。
我正在尝试使用 netcat 将 SSH 流量(双向)从一台主机上的端口 2222 中继到另一台主机上的端口 22。出于测试目的,我在这里重定向到 127.0.0.1:22,而不是远程主机。
\n\n这是我收到的命令和错误:
\n\nnc -n \xe2\x80\x93l 2222 0<backpipe | nc -n 127.0.0.1 22 1>backpipe\ngetaddrinfo: Name or service not known\nRun Code Online (Sandbox Code Playgroud)\n\n我一定在这里遗漏了一些非常明显的东西,但我没有看到它。我仅使用 IP 地址(甚至使用“-n”来不解析任何内容),但它似乎仍在尝试进行 DNS 查找。
\n\n这是 CentOS 6.x [64]。
\n\n我缺少什么?
\n所以,我们在我们班上的 DNS 章节,我想知道是否有任何可能的方法可以通过命令行界面(即 Telnet 或 netcat)连接到端口 53 上的 DNS 服务器,就像我们为 SMTP 或 HTTP 所做的那样或 POP 在其特定端口上;我试过:
> telnet 8.8.8.8 53
Run Code Online (Sandbox Code Playgroud)
但是连接一建立就关闭了;后来我意识到这是因为 telnet 使用 TCP 而 DNS 使用 UDP。
然后我尝试对 netcat 做同样的事情:
> nc -u 8.8.8.8 53
Run Code Online (Sandbox Code Playgroud)
纳达!我只是想看看 DNS 的工作是否透明。(比如 http、SMTP 等)
我正在尝试memcached使用netcat.
~ $nc 10.251.170.80 11211
stats
STAT pid 27508
STAT uptime 7940345
STAT time 1262949310
STAT version 1.2.4
STAT pointer_size 64
STAT rusage_user 1389.962693
STAT rusage_system 4857.247586
STAT curr_items 9154565
STAT total_items 615722800
STAT bytes 1994844049
STAT curr_connections 62
STAT total_connections 6263004
STAT connection_structures 148
STAT cmd_get 1925983531
STAT cmd_set 615722800
STAT get_hits 1334407705
STAT get_misses 591575826
STAT evictions 7125864
STAT bytes_read 454794886199
STAT bytes_written 176758890326
STAT limit_maxbytes 2147483648
STAT threads 4
END
Run Code Online (Sandbox Code Playgroud)
我不明白为什么
~ $echo …Run Code Online (Sandbox Code Playgroud) 为什么 BSD 1.10 版nc禁用了-e在其他所谓的不安全发行版中找到的选项,即使使用“安全”版本也可以轻松实现相同的危险功能,如下所示nc:
$ # Machine A
$ mkfifo pipe
$ nc -l 4000 <pipe | bash >pipe
$ # Machine B
$ nc MachineA 4000
Run Code Online (Sandbox Code Playgroud)
现在,如果我要将机器 A 上的咒语包含在脚本中(即,如果传递了“-e”参数,则有效地执行上述操作),我基本上已经引入了“大安全漏洞”而无需下台到 Makefile 和构建级别。
那么,为什么要达到#define-ing GAPING_SECURITY_HOME in的程度netcat.c呢?
我在服务器 A 上运行(来源):
dd bs=16M if=/dev/sda|bzip2 -c|nc serverB.example.net 19000
Run Code Online (Sandbox Code Playgroud)
在服务器 B(目的地)上:
nc -l -p 19000|bzip2 -d|dd bs=16M of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)
我需要在某处看到一些进展吗?(服务器的 A /dev/sda 为 50GB)
我已经等了 20 分钟,仍然在运行,我怎么知道它真的在传输数据/等等?
有什么方法可以使用 Netcat 和 UDP 发送文件(图片或视频)。它默认为 TCP,但我想使用 UDP 发送。我尝试简单地将 -u 添加到 nc 命令,但这不起作用。这是我正在使用的两个命令:
cat File.jpg | nc -u -l 777
nc -u 192.168.x.x 777 | pv -b > newfile.jpg
Run Code Online (Sandbox Code Playgroud)
我将我的 IP 地址用于 xx,以及我 PC 上的相应文件。我也在使用 Ubuntu。
感谢您的任何帮助!
我正在创建一个 Web 挑战,由于存在防火墙,我需要能够将 SSH 客户端源套接字绑定到固定端口,以使其流量通过防火墙。
有没有办法使用 Maybenetcat或 Ubuntu 设置来做到这一点?或者可以实现这一目标的 ssh 替代方案?
我正在尝试使用 netcat 来调试通过 UDP 通信的 SIP 呼叫。
有没有办法让同一个 netcat 实例监听多个 UDP 连接?我尝试从两个不同的主机连接到同一个 netcat 会话,第二个总是无法连接,即使我从第一个发送 EOF。
我知道 UDP“连接”是用词不当,不存在这样的东西,我是否以错误的方式思考这个问题?
我不知道版本,因为我同时安装了 OpenBSD 和 Ubuntu“传统”(GNU Debian)netcats。
我在 OpenBSD 中尝试了 -k 标志无济于事。
任何想法表示赞赏。
我按照这篇文章使用 netcat 检查速度,但是在他的博客中,当他这样做时ctrl-c,他会获取有关已发送接收字节的数据。
在帖子中,他跑了:
time yes|nc -v -v -n 192.168.0.8 2222 >/dev/null
than after ctrl-c het get:
sent 87478272, rcvd 0
real 0m9.993s
user 0m2.075s
sys 0m0.939s
Run Code Online (Sandbox Code Playgroud)
当我这样做时ctrl-c,我没有得到这些数据。
如何通过 netcat 获取发送/接收的数据?