又一次被linux的工具震惊了
前一篇博客还写了自己写的端口转发工具,今天偶然在网上看到讲命名管道和netcat配合的用法,被彻底雷倒了。
原来以为netcat做不到,原来是自己想不到,而不是netcat做不到……
方法如下:
$ mknod backpipe p
建立一个命名管道.
listener-to-client 转发:
$ nc -l -p [localport] 0< backpipe |
nc [target ip] [port] |
tee backpipe
漂亮吧?
继续:
listener-to-listener 转发:
$ nc -l -p [localport] 0< backpipe |
nc -l -p [localport2] |
tee backpipe
client-to-client 转发:
$ nc [ip1] [port1] 0< backpipe |
nc [ip2] [port2] |
tee backpipe
还有更雷的方法,用自身的 -e 参数:
$ echo nc [ip] [port] > relay.sh
$ chmod +x relay.sh
$ nc -l -p [port2] -e relay.sh
我晕菜了,原来那个程序是白写了。
强大的linux, 强大的netcat !
相关文档:
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
Linux下的定时器有两种,以下分别介绍:
1、alarm
如果不要求很精确的话,用alarm()和signal()就够了
unsigned int alarm(unsigned int seconds)
函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回。
返回值: ......
For all those who are beginners in any linux(ubuntu) find hard to find the package files of their distro and end up in finding an source package(which is either in tar.gz or .gz).. so now people think how to install these source files…..
lets now see how would you be installing source files ......
随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,目前Linux的擅长应用领域是单一应用的基础服务器应用,譬如DNS和DHCP服务器、W ......
//获取子网掩码的函数QString GetLocalNetMask()
{
int sock_netmask;
char netmask_addr[50];
struct ifreq ifr_mask;
struct sockaddr_in *net_mask;
sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("create socket failture...GetLocalNetMask\n");
......