AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[nc](server)

Martin Hope
M.Ch.
Asked: 2021-04-05 11:08:03 +0800 CST

管道 nc 到 sed 并评估每行的日期时间

  • 0

有人可以提供任何想法,我如何将数据从 nc 传输到 sed(或 awk 或其他任何东西)并在每行之后评估并写入文件时间戳?我有的:

# cat /etc/systemd/system/ncserver.service
[Unit]
Description=netcat listener
After=network.target

[Service]
Restart=always
RestartSec=1
ExecStart=/usr/bin/bash -c '/usr/bin/nc -n -v -l -k -p 1313 >> /opt/data/$(hostname)-$(date -u +%%y%%m%%d-%%H).txt'

[Install]
WantedBy=multi-user.target

简单的侦听器 - 通过原始 tcp 接收文本,发送到文件中(每天由 cron 重新启动一次以生成新文件)

我想将当前时间戳附加到每一行文本(在行的开头或结尾,没关系)。尝试过 sed、awk,但问题是我无法评估date每一行 - 它仅在服务启动时评估一次。看起来像这样

109582 ?        Ss     0:00 /usr/bin/bash -c /usr/bin/nc -n -v -l -k -p 1313 | /usr/bin/sed 's/^/'$(date +%s)
 109583 ?        S      0:00 /usr/bin/nc -n -v -l -k -p 1313
 109584 ?        S      0:00 /usr/bin/sed s/^/1617555467\;/g

管道可能根本不是答案,但我有点受到 bash 的限制。有任何想法吗?..

bash text pipe sed nc
  • 2 个回答
  • 240 Views
Martin Hope
u20200411
Asked: 2020-10-16 18:56:21 +0800 CST

我 ufw 拒绝 53,但 nc 扫描报告连接成功

  • 0

当我通过 ufw 拒绝时,为什么 nc 扫描能够成功连接到端口 53?

我注意到端口 53 正在监听:

$ sudo ss -tulpne 

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0: users:(("avahi-daemon",pid=514,fd=12)) uid:115 ino:18620 sk:1 <->
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0: users:(("systemd-resolve",pid=356,fd=12)) uid:102 ino:15766 sk:2 <->
udp UNCONN 0 0 10.0.2.15%ens3:68 0.0.0.0: users:(("NetworkManager",pid=538,fd=19)) ino:21287 sk:3 <->
udp UNCONN 0 0 0.0.0.0:51675 0.0.0.0: users:(("avahi-daemon",pid=514,fd=14)) uid:115 ino:18622 sk:4 <->
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0: users:(("cups-browsed",pid=571,fd=7)) ino:18922 sk:5 <->
udp UNCONN 0 0 0.0.0.0:43745 0.0.0.0: users:(("systemd-timesyn",pid=355,fd=16)) uid:100 ino:41918 sk:6 <->
udp UNCONN 0 0 [::]:5353 [::]: users:(("avahi-daemon",pid=514,fd=13)) uid:115 ino:18621 sk:7 v6only:1 <->
udp UNCONN 0 0 [::]:38831 [::]: users:(("avahi-daemon",pid=514,fd=15)) uid:115 ino:18623 sk:8 v6only:1 <->
tcp LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0: users:(("systemd-resolve",pid=356,fd=13)) uid:102 ino:15767 sk:9 <->
tcp LISTEN 0 5 127.0.0.1:631 0.0.0.0: users:(("cupsd",pid=487,fd=7)) ino:18380 sk:a <->
tcp LISTEN 0 5 [::1]:631 [::]:* users:(("cupsd",pid=487,fd=6)) ino:18379 sk:b v6only:1 <->

所以我通过ufw关闭了那个端口:

$ sudo ufw deny 53
        
$ sudo ufw status verbose
        
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
    
To Action From
    
53 DENY IN Anywhere
53 (v6) DENY IN Anywhere (v6)

当我进行 nc 扫描时,我看到与端口的连接成功:

$ sudo nc -zv 127.0.0.53 50-53
    
nc: connect to 127.0.0.53 port 50 (tcp) failed: Connection refused 
nc: connect to 127.0.0.53 port 51 (tcp) failed: Connection refused 
nc: connect to 127.0.0.53 port 52 (tcp) failed: Connection refused 
Connection to 127.0.0.53 53 port [tcp/domain] succeeded!

我希望防火墙阻止此连接

为什么防火墙不阻止连接?请帮助我纠正我的想法

旁注:我知道 dnsmasqd 使用端口 53,并且有很多充分的理由保持端口开放。但在这个问题中,我只关心通过防火墙有效关闭端口。我也知道我可以通过编辑 /etc/systemd/resolved.conf 来阻止这个端口监听

port ufw nc
  • 1 个回答
  • 313 Views
Martin Hope
MrDuk
Asked: 2016-08-19 13:22:29 +0800 CST

为什么 netcat 扫描 UDP 端口总是成功?

  • 3

我正在尝试验证我们的一些服务器是否可以在将我们的一些服务迁移到它们之前通过某些端口进行通信,并且它们没有被我们组织的防火墙 ACL 阻止。

说得通

[mrduki@mybox1~]$ nc -ul 40000
---
[mrduki@mybox2~]$ nc -zvuw2 mybox1.com 40000
Connection to mybox1.com 40000 port [udp/*] succeeded!

没有意义

[mrduki@mybox1~]$ nc -ul 40000
[mrduki@mybox1~]$ ^C
---
[mrduki@mybox2~]$ nc -zvuw2 mybox1.com 40000
Connection to mybox1.com 40000 port [udp/*] succeeded!

事实上,如果我从 进行端口扫描40000-40100,每个端口都会成功。

如果我在没有的情况下进行相同的测试-u(以便它测试 TCP 而不是 UDP),我会得到40000 (tcp) timed out: Operation now in progress错误,正如我所期望的那样(因为我没有监听这样的 TCP 服务40000)。

做一个虽然显示没有这样的服务在这些端口上监听sudo netstat -alnp | grep LISTEN。mybox1那么我错过了什么?

port access-control-list netcat nc
  • 3 个回答
  • 7384 Views
Martin Hope
georg
Asked: 2016-06-11 00:47:15 +0800 CST

BSD nc (netcat) 不会在 EOF 上终止

  • 8

主持人甲:

tar cf -  stuff | dd | nc  -N -l 12987

主持人乙:

nc a.example.com 12987 | dd | tar tf - 

在主机 A 上完成dd后打印其摘要tar。因此很明显, tar 关闭了管道/文件 -> EOF。

165040+0 记录 165040+0 记录输出 84500480 字节在 25.464802 秒内传输(3318325 字节/秒)

两个主机上都nc愉快地坐在那里而不退出。 nc(1):

   -N      shutdown(2) the network socket after EOF on the input.  Some
           servers require this to finish their work.

因此,在主机 A 上nc应该已经看到EOF,关闭了该死的套接字,在主机 B 上nc应该已经看到 TCP 连接终止并且应该已经关闭stdout(stdin的dd/ tar)。

如何告诉在主机 B 上nc关闭stdout/终止并在主机 A 上终止。

nc漏洞?

-D(调试)什么都不做。nc连版本号都说不出来……唉

两台主机都是FreeBSD 10.3-RELEASE-p4,仅限 IPv4。

networking freebsd bsd nc
  • 2 个回答
  • 9080 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve