nc / netcat 使用示例
网络编程时,经常需要写通信两端的程序。使用netcat可以很方便的进行测试。netcat的程序有GNU和openBSD两种版本,在具体功能上稍有差异。nc命令是netcat的缩写。
TCP连接测试
创建一个TCP Socket,监听12345
端口。
nc -l -p 12345
创建一个TCP Socket,连接到127.0.0.1
服务器的12345
端口。
nc 127.0.0.1 12345
UDP连接测试
创建在12345
端口开启UDP Socket,与127.0.0.1
服务器的54321
端口通信。
nc -u -p 12345 127.0.0.1 54321
创建UDP Socket,与上述UDP端口通信。
nc -u -p 54321 127.0.0.1 12345
网络Shell
在服务器开启TCP Socket,对输入的内容在/bin/sh
中运行,并将指令结果返回。这种功能需要使用GNU的netcat程序。
nc -l -p 12345 -e /bin/sh
连接到上述TCP端口,输入指令在服务器端执行。
nc 127.0.0.1 12345
ls
/tmp /test/ ...