又一次被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服务和它们的特征的方法。 ......
一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......
从
Linux 2.6
起引入了一套新的驱动管理和注册机制 :Platform_device
和 Platform_driver
。
Linux
中大部分的设备驱动,都可以使用这套机制 ,
设备用
Platform_device
表示,驱动用
Platform_driver
进行注册。
Linu ......
Linux下的定时器有两种,以下分别介绍:
1、alarm
如果不要求很精确的话,用alarm()和signal()就够了
unsigned int alarm(unsigned int seconds)
函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回。
返回值: ......
//获取本机IP地址函数
QString GetLocalIp()
{
int sock_get_ip;
char ipaddr[50];
struct sockaddr_in *sin;
struct ifreq ifr_ip;
if ((sock_get_ip=socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("socket create failse...GetLocalIp!\n");
return ""; ......