[实践OK]nc (NetCat) 网络安全工具介绍以及用nc-1.84-24.el6进行批量IP的端口扫描,nc在centos里的rpm包叫啥?及查找方法,nc输入多行换行命令。

jackxiang 2010-5-25 11:46 | |
echo '<!data1eofdata2eofdata3eofdata4!>' | perl -p -e 's#eof#\r\n#g'
<!data1
data2
data3
data4!>
echo '<!data1eofdata2eofdata3eofdata4!>' | perl -p -e 's#eof#\r\n#g' | nc ip port

nc: port range not valid

背景:发现nc是能加-z 参数的,而netcat则不行,它们在Linux下的两个包都不相同,如下;



nc主要是用来在web这块做memcache的连接,再就是模拟一个tcp端口连接,然后做一些硬件上的调试,能看到发的数据之用:
http://jackxiang.com/post/3095/

用nc-1.84-24.el6进行批量IP的端口扫描脚本:
/tmp/scripts/ip-ports.txt

cat /tmp/ncports.sh

运行:
sh ncports.sh              
192.168.0.100 80:fail
192.168.0.100 8081:fail
192.168.0.101 8082:fail
192.168.1.100 21:fail

二、将IP全写到一个shell脚本的数组里:
/tmp/foreachnc.sh

#sh foreachnc.sh
Connection to 10.73.234.143 22 port [tcp/ssh] succeeded!  #绿色显示
nc 10.73.234.143 success.
Connection to 123.57.252.183 22 port [tcp/ssh] succeeded!
nc 123.57.252.183 success.
==========================================================================



netcat 在centos里叫:
nc.x86_64
可以用:
yum search nc
找下。
——————
[root@jackxiang ~]# yum install nc.x86_64
Total download size: 57 k
Installed size: 109 k
Is this ok [y/N]: y

http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1-1.i386.rpm/download


[/home/jackxiang/netcat]# rpm -ihv netcat-0.7.1-1.i386.rpm
warning: netcat-0.7.1-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID b2d79fc1
Preparing...                ########################################### [100%]
        package netcat-1.10-883.2 (which is newer than netcat-0.7.1-1) is already installed
        file /usr/bin/netcat from install of netcat-0.7.1-1 conflicts with file from package netcat-1.10-883.2
        file /usr/share/man/man1/netcat.1.gz from install of netcat-0.7.1-1 conflicts with file from package netcat-1.10-883.2


netcat的命令行程序名字为nc,是netcat的缩写,安装完了是找不到netcat这个程序的.


[root@linux ~]# nc [IP|host] [port]
[root@linux ~]# nc -l -p [port]
参数:
-l,作为监听之用,亦即开启一个 port 来监听用户的联机。
-p,开启的这个 Port Number。

root@mail etc #nc -h
GNU netcat 0.7.0, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere: nc [options] hostname port [port] ...
listen for inbound: nc -l -p port [options] [hostname] [port] ...
tunnel to somewhere: nc -L hostnameort -p port [options]

Mandatory arguments to long options are mandatory for short options too.
Options:
-c, --close close connection on EOF from stdin
-e, --exec=PROGRAM program to exec after connect
-g, --gateway=LIST source-routing hop point[s], up to 8
-G, --pointer=NUM source-routing pointer: 4, 8, 12, ...
-h, --help display this help and exit
-i, --interval=SECS delay interval for lines sent, ports scanned
-l, --listen listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to remote address
-n, --dont-resolve numeric-only IP addresses, no DNS
-o, --output=FILE output hexdump traffic to FILE (implies -x)
-p, --local-port=NUM local port number
-r, --randomize randomize local and remote ports



/usr/bin/ 已经在path下面
vi vi .bash_profile
加入:
alias nc='netcat'


source /root/.bash_profile


可以执行nc了,哈哈

nc (NetCat) 网络安全工具介绍 搞系统安全的人,可能没人没听说过大名鼎鼎的nc吧,它可以代替telnet,可以启监听程序,可以用来传输文件,可以用来作为黑客辅助程序,深受大量hacker的喜爱,其功能有如瑞士军刀般好用。
NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。NetCat,它的实际可运行的名字叫nc,应该早很就被提供,就象另一个没有公开但是标准的Unix工具。有gnu版本和 windows下的运行版本, 这里仅介绍unix版的。


NetCat可以发现网络上的设备并且绘制网络地图。人们可以从Sourceforge网站和@stake网站下载这一工具。NetCat是由一位前@stake员工所编写。

目前,@stake大约提供二十多种安全工具,工具种类涉及信息采集、证据收集、网络实用工具、口令审计、恢复与修补以及安全漏洞扫描等。其中,Andreas Junestam编写的WFPdisable、Paul Clip编写的AUSTIN、Frederic Bret-Mount开发的ComBust以及Ollie Whitehouse开发的WAP Assessment Tool都以保持最新状态而闻名

首先我们要弄明白netcat的工作原理,其实netcat的原理很简单,它就是从网络的一端读入数据,然后输出到网络的另一端,它可以使用tcp 和udp协议.之所以叫做netcat,因为它是网络上的cat,想象一下cat的功能,读出一个文件的内容,然后输出到屏幕上(默认的stdout是屏幕,当然可以重定向到其他地方).netcat也是如此,它读取一端的输入,然后传送到网络的另一端,
就这么简单.但是千万不要小看了它,netcat可以完成很多任务,,尤其是和其他程序组合时.好了,废话少说,进入正题吧.:p
网上有两种版本的netcat,一个是@stake公司的netcat,在
http://www.l0pht.com/~weld/netcat/
可以下载。

gnu的可以在 http://netcat.sourceforge.net/download.php 下载。

FreeBSD下的安装:

cvsup更新ports后,
# cd /usr/ports/net/netcat && make -s install distclean

安装好后,输入
nc或man nc,就可以看到相关信息了。

使用:

最简单的使用方法,”nc host port”,能建立一个TCP连接,连向指定的主机和端口。接下来,你的从标准输入中输入的任何内容都会被发送到指定的主机,任何通过连接返回来的信息都被显示在你的标准输出上。这个连接会一直持续下去,至到连接两端的程序关闭连接。注意,这种行为不同于大多数网络程序,它们会在从标准输入读到一个文件结束符后退出。
NetCat还可以当服务器使用,监听任意指定端口的连接请求(inbound connection),并可做同样的读写操作。除了较小限制外,它实际并不关心自己以“客户端”模式还是“服务器”模式运行,它都会来回运送全部数据。在任何一种模式下,都可以设置一个非活动时间来强行关闭连接。
它还可以通过UDP来完成这些功能,因此它就象一个telnet那样的UDP程序,用来测试你的UDP服务器。正如它的“U”所指的,UDP跟TCP相比是一种不可靠的数据传输,一些系统在使用UDP传送大量数据时会遇到麻烦,但它还有一些用途。
你可能会问“为什么不用telnet来连接任意的端口”?问题提得好(valid),这儿有一些理由。Telnet有“标准输入文件结束符 (standard input EOF)”问题,所以需要在脚本中延迟计算以便等待网络输出结束。这就是netcat持续运行直到连接被关闭的主要原因。Telnet也不能传输任意的二进制数据,因为一些特定的字符会被解释为Telnet的参数而被从数据流中去除。Telnet还将它的一些诊断信息显示到标准输出上,而NetCat会将这信息与它的输出分开以不改变真实数据的传输,除非你要求它这么做。当然了,Telnet也不能监听端口,也不能使用UDP。NetCat没有这些限制,比Telnet更小巧和快捷,而且还有一些其它的功能。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3097/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2021-7-30 16:26
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]