Linux编程之8个有用的Linux netcat命令示例仓酷云
要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。Netcat大概叫nc是Linux下的一个用于调试和反省收集工具包。可用于创立TCP/IP毗连,最年夜的用处就是用来处置TCP/UDP套接字。
这里我们将经由过程一些实例来进修netcat命令。
1.在服务器-客户端架构上利用Netcat
netcat工具可运转于服务器形式,侦听指定端口
1$nc-l2389
然后你可使用客户端形式来毗连到2389端口:
1$nclocalhost2389
如今假如你输出一些文本,它将被发送到服务器端:
1$nclocalhost2389
2HI,oschina
在服务器的终端窗口将会显现上面内容:
1$nc-l2389
2HI,oschina
2.利用Netcat来传输文件
netcat工具还可用来传输文件,在客户端,假定我们有一个testfile文件:
1$cattestfile
2hellooschina
而在服务器端有一个空文件名为test
然后我们利用以下命令来启用服务器端:
1$nc-l2389>test
紧接着运转客户端:
1cattestfile|nclocalhost2389
然后你中断服务器端,你能够检察test内容就是方才客户端传过去的testfile文件的内容:
1$cattest
2hellooschina
3.Netcat撑持超时把持
多半情形我们不但愿毗连一向坚持,那末我们可使用-w参数来指定毗连的余暇超不时间,该参数紧接一个数值,代表秒数,假如毗连凌驾指准时间则毗连会被停止。
服务器:
1nc-l2389
客户端:
1$nc-w10localhost2389
该毗连将在10秒后中止。
注重:不要在服务器端同时利用-w和-l参数,由于-w参数将在服务器端有效果。
4.Netcat撑持IPv6
netcat的-4和-6参数用来指定IP地点范例,分离是IPv4和IPv6:
服务器端:
1$nc-4-l2389
客户端:
1$nc-4localhost2389
然后我们可使用netstat命令来检察收集的情形:
1$netstat|grep2389
2tcp00localhost:2389localhost:50851ESTABLISHED
3tcp00localhost:50851localhost:2389ESTABLISHED
接上去我们看看IPv6的情形:
服务器端:
1$nc-6-l2389
客户端:
1$nc-6localhost2389
再次运转netstat命令:
1$netstat|grep2389
2tcp600localhost:2389localhost:33234ESTABLISHED
3tcp600localhost:33234localhost:2389ESTABLISHED
前缀是tcp6暗示利用的是IPv6的地点。
5.在Netcat中克制从尺度输出中读取数据
该功效利用-d参数,请看上面例子:
服务器端:
1$nc-l2389
客户端:
1$nc-dlocalhost2389
2Hi
你输出的Hi文本其实不会送到服务器端。
6.强迫Netcat服务器端坚持启动形态
假如毗连到服务器的客户端断开毗连,那末服务器端也会随着加入。
服务器端:
1$nc-l2389
客户端:
1$nclocalhost2389
2^C
服务器端:
1$nc-l2389
2$
上述例子中,但客户端断开时服务器端也当即加入。
我们能够经由过程-k参数来把持让服务器不会由于客户真个断开毗连而加入。
服务器端:
1$nc-k-l2389
客户端:
1$nclocalhost2389
2^C
服务器端:
1$nc-k-l2389
7.设置Netcat客户端不会由于EOF而加入
Netcat客户端能够经由过程-q参数来把持吸收到EOF后隔多长工夫才加入,该参数的单元是秒:
客户端利用以下体例启动:
1nc-q5localhost2389
如今假如客户端吸收到EOF,它将守候5秒前进出。
8.利用Netcat来处置UDP协定
netcat默许是利用TCP协定,但也撑持UDP,可以使用-u参数来启用UDP协定通信。
服务器端:
1$nc-4-u-l2389
客户端:
1$nc-4-ulocalhost2389
如许客户端和服务器端都利用了UDP协定,可经由过程netstat命令来检察:
1$netstat|grep2389
2udp00localhost:42634localhost:2389ESTABLISHED
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last 安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题. 要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。 众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。 如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。 我是学习嵌入式方向的,这学期就选修了这门专业任选课。 下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。 如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。 眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。 选择交流平台,如QQ群,网站论坛等。 再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
页:
[1]