Articles of netcat

你如何redirect(单向)udp数据包到另一台主机使用netcat?

如何redirect(单向)udp数据包到另一台主机使用netcat? nc -l -u 0.0.0.0 12345 | nc -u 192.168.1.128 12345 在成功redirect第一个数据包之后停止。 (注意:iptables解决scheme也是有用的。) 谢谢, 克里斯。

Netcat输出pipe道,jsonparsing

我想要的是这样的: netcat到服务器,streamjson格式的loglines。 将nc的输出pipe道输出为“东西”,以某种可定制的格式(像Perl或Python这样的东西)来将json格式化为纯文本格式。 允许“某事”是可以理解的。 我将nc的输出pipe道输出到别的东西的小尝试导致服务器输出“Broken pipe”。

为什么不是nc -vv -l -n -p 8080正在工作?

我不能得到命令的工作,应该听8080 对此我有什么想法,对这个问题有什么支持?

通过UDP发送netcat文件:不寻常的Wireshark输出

为了演示TCP和UDP之间的差异,我通过networking连接传输文件的内容,并logging与Wireshark的交互。 在TCP中一切看起来很正常,但是在UDP中有些奇怪。 我正在和A机一起听 netcat -ul 5000 然后从机器B发送文件: netcat -u <ip address> 5000 < file.txt 当我查看Wireshark日志时,通过UDP数据包得到了一半的信息,显然有一半通过IPv4,没有数据报(见下面的截图)。 难道这只是Wireshark在显示数据的方式上很怪异,或者是UDP中没有任何东西的信息的一半? 为什么?

shelllogging来自特定地址的UDPstream

我试图logging一个传入的UDPstream(stream意味着它是连续的数据报stream)。 我尝试了netcat但不幸的是多个源发送数据在同一个端口地址和nc不让你指定源或目标多播地址。 然后我尝试tcpdump -w -因为tcpdump有丰富的过滤选项,但它logging了原始stream,我只需要实际的数据,所以我可以像处理stream一样处理它。 不幸的是,它logging了所有与数据包有关的信息,如源/目的地或IP / UDP头。 有没有办法做到这一点? 我可以写一个小的C程序来做到这一点,但我更喜欢使用现有的工具。

apache虚拟主机工作不一致

我的networking服务器上有一个虚拟主机,唯一的目标是返回客户端的IP地址: petrus@bzn:~$ cat /home/vhosts/domain.org/index.php <?php echo $_SERVER['REMOTE_ADDR']; echo "\n" ?> 这有助于我解决networking问题,尤其是涉及到NAT的时候。 因此,我并不总是有域名parsing,即使通过IP地址查询,这个服务也需要工作。 我这样使用它: petrus@hive:~$ echo "GET /" | nc 88.191.133.41 80 191.51.4.55 petrus@hive:~$ echo "GET /" | nc ydct.org 80 191.51.4.55 router#more http://88.191.133.41/index.php 88.191.124.254 但是,我发现至less有一台电脑没有工作: petrus@seth:~$ echo "GET /" | nc ydct.org 80 petrus@seth:~$ petrus@seth:~$ echo "GET /" | nc 88.191.133.41 80 petrus@seth:~$ 我检查了什么: 这与ipv6无关: […]

横幅抓取DNS?

一个横幅如何抓取DNS? 我能够横幅抓住其他服务,如HTTP / FTP / SMTP,但对于DNS,它不是一目了然的。 通常对于HTTP,我使用nc和HEAD / HTTP/1.1 {ENTER}{ENTER} 。 我以为如果知道查询的初始结构,就可以用DNS,但似乎找不到这方面的文档。

仅在2个系统中的1个上使用rsyslogd

我有两个系统。 一个是笔记本电脑,有rsyslog。 另一种是没有rsyslog的embedded式系统。 我想要做的是从笔记本电脑上的embedded式系统login消息。 我configuration了笔记本电脑/etc/rsyslog.conf来监听TCP端口10514: netstat -nlp | grep 10514 tcp 0 0 0.0.0.0:10514 0.0.0.0:* LISTEN 30280/rsyslogd tcp 0 0 :::10514 :::* LISTEN 30280/rsyslogd 在我发送的embedded式系统上,带有netcat的testing消息: [172.17.0.33: ]# echo "Test Message 1" | nc -w2 -p 10514 172.17.0.16 nc: can't connect to remote host (172.17.0.16): Connection refused 是rsyslog期待在数据包中的任何特殊? 这是否需要两个系统都有rsyslog? 任何其他原因,我会得到“连接拒绝”?

直接pipe道到Logstash?

我希望像Nginx这样的服务器的日志数据直接通过networking进入Logstash。 Logstash内置了TCP和UDP套接字处理程序,这对于接收数据来说是完美的,但发送它是一个问题。 我知道有托运人,什么不是,但是不必pipe理磁盘上的日志对于这个日志数据不那么关键的项目(比如内部开发服务器)来说是好的。 有没有一个狡猾的方式,我可以创build一个套接字,但有一个Nginx将写入到其他任何日志文件的文件系统上的path? 假设这是可能的,我怎样才能configuration缓冲和重新连接? 我讨厌sockets死了,日志背压开始捆绑服务器进行日志logging。

当作为一个暴发户的工作运行时,NC立即退出

我正在使用下面的/etc/init/jsonlog.conf upstart作业: description "jsonlog" start on runlevel [23] stop on runlevel [06] respawn script cd /tmp echo "about to listen" /bin/nc -l 3333 echo "finished listening" end script post-stop script sleep 1 end script 问题是nc每次客户端连接都立即退出。 所需的行为是收到的所有数据(即utf8 json)都应该以/var/log/upstart/jsonlog.log结尾。 该服务器运行Ubuntu 12.04LTS。 当从bash shell运行时, nc命令可以正常工作。 我在做一个假设 ,这是与stdin 。 我试过使用-q -1选项,但没有帮助。 PS我很好,事实上,这将只听一个客户在一个时间。