我试图设置iptables导致docker容器之间的现实networking故障。 在服务器上,我运行netcat -lk 1234和一个Erlang牛仔服务器。 在客户端上运行客户端: echo blah | netcat myserver 1234 curl myserver/xyz 最初,这些工作正常,有客户端 – 服务器通信的证据。 接下来,我在客户端的OUTPUT上引入iptables DROP规则。 iptables -A OUTPUT -j DROP echo blah | netcat myserver 1234 curl myserver/xyz netcat和curl通信都没有通过, 直到我删除了DROP规则,在这一点上他们无缝地恢复! 最后,我重复上述,但在删除DROP规则之前,我ctrl-c客户端可执行文件。 删除DROP规则后,我发现服务器没有收到客户请求。 我的结论是netat / curl客户端必须试图无限期地重新传输? 我不应该最终期望失败吗? 顺便说一句,同样的事情发生在与其他客户,例如。 Erlang http / websocket_client。
我有4个虚拟机使用虚拟框。 一台虚拟机用作连接3个networking的路由器。 我试图放弃所有进入路由器机器的通信,excpet一些服务。 我在每台机器上的接口ips是: 作为路由器工作的虚拟机1: eth1: 193.136.200.254 eth2: 10.10.0.254 eth3: 10.254.0.254 虚拟机2: eth1: 10.10.0.2 eth2: 10.10.0.3 虚拟机3: eth1: 193.136.200.2 虚拟机4: eth1: 10.254.0.1 我在路由器机器上定义下面的规则: IPTABLES -P INPUT DROP iptables -A INPUT -s 193.136.200.3 -d 193.136.200.254 -p udp -m udp –sport 53 -j ACCEPT 现在我试图testing,如果这是使用netcat工作。 所以在路由器机器上运行命令: nc -u -s 193.136.200.254 -p 53 193.136.200.3 53 并在虚拟机3中运行: nc -u […]
我如何testing到Keberos KDC(UDP / 88)的networking连接? Kerberos是否有标准的沟通方式来提供任何输出? 例如HTTP, nc -v google.com 80 GET 将转储网站 nc -v smtp.gmail.com 587 ehlo localhost.localdomain 将转储我有的选项(如starttls) 但是kerberos,作为UDP,我甚至不能testing套接字是否打开,我能够testing是否存在防火墙问题的唯一方法是login到KDC,停止kerberos,并在该端口上启动netcat [[email protected] ~]$ nc -l -u 88 [[email protected] ~]$ nc kdc.example.com -u 88
这个命令将通过netcat持久地将它的输出 – 从apache服务器的所有命中 – 到浏览器: while true; do grep `date +%d\\/%b` /var/log/apache/access.log | nc -q1 -l -p8080; done 这是超级酷,但我有一个宠物与它的工作方式:grep运行,其输出坐在hibernate,直到有人要求它。 这有两个含义: 没有办法使用请求头来改变服务 当天的第一个请求将始终服务于昨天的结果 ,因为自上次请求以来,grep输出已经在那里了。 连续的两个即时请求是唯一的方法来确定你正在得到更新的输出。 我的问题是: 有没有办法解决这个问题 ? 我很less意识到用mknod等手段制作背水pipe,但经过一些严重的谷歌search和手工阅读,我不能真正弄清楚是否有一个解决scheme,我没有看到由于缺乏经验,或者如果我只是试图做一些unixpipe道工作不可行的方法。 编辑 :我在man nc看到-e开关可以用来“执行指定的命令,使用stdin的networking数据,并发送stdout和stderr到networking。 它继续解释这只有在GAPING_SECURITY_HOLE (lol)编译时间选项被启用时才有效,这是有道理的。 所以现在我想知道,这是我实际上想要完成的非常不安全的行为,还是有一个安全的中间地带? 也许只做#2(以上)是安全的,但#1不会。 尚未确定。 编辑#2 :也许有一些与命名pipe道 ?
所以,我有我的networking上的设备,在那里监听一个端口的连接,当一个连接时,它倾倒ascii数据。 我需要将这些数据捕获到一个文件。 我写了一个死的简单的shell脚本来做到这一点: #!/bin/bash #Config Variables. Age is in Days. DATA_ROOT=/root/data FILENAME=data_`date +%F`.dat HOST=device COMPRESS_AGE=3 #Sanity Checks if [ ! -e $DATA_ROOT ] then echo "The directory $DATA_ROOT seems to not exist. Please create it." exit 1 fi if [ -e $DATA_ROOT/$FILENAME ] then echo "You seem to have extracted data already today. Aborting" exit […]
我需要将telnet自动化到Cisco路由器,并获得“显示版本”结果。 问题是,我需要先telnet到A,从telnet到B,然后才能telnet到Cisco路由器。 我已经尝试了下面,但没有工作。 root@linux:~#cat command myName myPassword telnet 2.2.2.2 myName2 myPassword2 telnet 3.3.3.3 cisco ciscoPass show version root@linux:~#nc 1.1.1.1 23 -i 1 < command
在Linux上有一个很好的工具来testing连接,带宽,打开温度。 连接等: nc Juniper防火墙上的等效function是什么?
我习惯使用ssh转发本地主机上的远程服务端口,例如: ssh -L 2181:localhost:2182 user@server (转发远程主机端口2182到本地端口2181) 现在,从我SSH的机器,我试图达到一个TCP服务,并将响应转发到我的本地机器: local-machine:2181 <– SSH –> remote-machine:2182 <– netcat/named pipe –> service:2181 注意:我没有直接访问服务器,我只能通过SSH连接到我的networking。 我正在尝试使用netcat与命名pipe道: 在远程机器上: mkfifo fifo nc -k -l 2182 <fifo | nc service 2181 >fifo 在本地机器上: echo message | nc localhost 2181 echo message | nc localhost 2181 但似乎并不奏效。 我也尝试过,在远程机器nc -k -l 2182 0<fifo | nc service 2181 […]
我有一个在企业数据中心谁是系统pipe理员是我的服务器。 有一些虚拟机正在运行。主服务器可以通过SSH从互联网访问。 局域网内有一些人访问局域网上IP地址的虚拟机 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 作为互联网的堡垒主机的主机是IP 192.168.1.50,只有我有权访问它。 我必须让互联网上的人们可以访问我上面提到的IP的内部机器。我知道隧道是一个很好的方法,但人们是非常技术性的,不想进入隧道等行话。所以我碰到解决scheme,在这个链接上说明在.ssh / config文件中的192.168.1.50的网关机器上添加以下内容 Host securehost.example.com ProxyCommand ssh [email protected] nc %h %p 现在我的问题是,我需要在堡垒主机(网关)上创build单独的帐户,可以SSH的内部机器和每个用户.ssh /configuration我需要进行上述条目或在哪里我把网关上的.ssh / config。 另外ssh [email protected] 其中user1只存在于机器192.168.1.1而不是在网关是正确的语法? 因为内部机器是作为外部世界访问的 site1.example.com site2.example.com site3.example.com site4.example.com 但是SSH只适用于example.com,只有一个用户。那么我应该怎么去.ssh / config 1)我应该使用网关的.ssh / config中的ProxyCommand的正确语法是什么 ProxyCommand ssh [email protected] nc %h %p或我应该使用 ProxyCommand ssh [email protected] in nc %h %p 2)我应该在网关上创build新的用户帐户还是在ssh_config的AllowedUsers中添加它们就足够了?
以下是按预期工作。 发送服务器: mysqldump db_name tbl_name -d | nc -l 1234 接收服务器: nc 10.10.10.114 1234 | mysql -uroot -proot@123 test 当我转储到远程服务器时,传输数据需要很长时间。 在这个过程中是否可以添加tar jcf –和tar jxf ?