<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]nc (NetCat) 网络安全工具介绍以及用nc-1.84-24.el6进行批量IP的端口扫描,nc在centos里的rpm包叫啥？及查找方法，nc输入多行换行命令。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 25 May 2010 03:46:12 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	echo &#039;&lt;!data1eofdata2eofdata3eofdata4!&gt;&#039; &#124; perl -p -e &#039;s#eof#&#92;r&#92;n#g&#039;<br/>&lt;!data1<br/>data2<br/>data3<br/>data4!&gt;<br/>echo &#039;&lt;!data1eofdata2eofdata3eofdata4!&gt;&#039; &#124; perl -p -e &#039;s#eof#&#92;r&#92;n#g&#039; &#124; nc ip port<br/><br/>nc: port range not valid<br/><br/>背景：发现nc是能加-z 参数的，而netcat则不行，它们在Linux下的两个包都不相同，如下；<br/><textarea name="code" class="php" rows="15" cols="100">
#rpm -qf /usr/bin/nc
nmap-ncat-6.40-7.el7.x86_64

#ls -lart /usr/bin/nc
lrwxrwxrwx 1 root root 4 9月&nbsp;&nbsp;27 2016 /usr/bin/nc -&gt; ncat&nbsp;&nbsp;#ncat不接受-z 参数：/usr/bin/nc -v -z -w 2&nbsp;&nbsp; 123.57.252.183 80 出现 ：/usr/bin/nc: invalid option -- &#039;z&#039; /usr/bin/nc: invalid option -- &#039;z&#039;

nc: invalid option -- &#039;z&#039; 是升级到centos7新版本原因：
-z参数原为扫描目标port是否打开， TCP三次握手成功则ok
但CentOS7新版的nc命令已取消了-z， 需输入重定向 &lt; /dev/null 才能成功
nc -w 1 qq.com 80 &lt; /dev/null &amp;&amp; echo &quot;tcp port ok&quot;
nc -w 1 -v 10.169.70.43 27017 &lt; /dev/null &amp;&amp; echo &#039;tcp port ok&#039;

[root@ml_mongodb_bj_szq_10_169_70_73 ~]# rpm -qf /bin/nc
nmap-ncat-6.40-7.el7.x86_64

nc -w 1 -v 10.169.70.43 27017 &lt; /dev/null &amp;&amp; echo &#039;tcp port ok&#039;
Ncat: 0 bytes sent, 0 bytes received in 0.00 seconds.
tcp port ok


真正的nc:
$rpm -qf /usr/bin/nc
nc-1.84-24.el6.x86_64
</textarea><br/><br/><br/>nc主要是用来在web这块做memcache的连接，再就是模拟一个tcp端口连接，然后做一些硬件上的调试，能看到发的数据之用:<br/>http://jackxiang.com/post/3095/<br/><br/>用nc-1.84-24.el6进行批量IP的端口扫描脚本：<br/>/tmp/scripts/ip-ports.txt<br/><textarea name="code" class="php" rows="15" cols="100">
192.168.0.100 80&nbsp;&nbsp;
192.168.0.100 8081&nbsp;&nbsp;
192.168.0.101 8082&nbsp;&nbsp;
192.168.1.100 21 
</textarea><br/>cat /tmp/ncports.sh<br/><textarea name="code" class="php" rows="15" cols="100">
cat ./scripts/ip-ports.txt &#124; while read line&nbsp;&nbsp;
do&nbsp;&nbsp;
&nbsp;&nbsp;nc -w 10 -z $line &gt; /dev/null 2&gt;&amp;1&nbsp;&nbsp;
&nbsp;&nbsp;if [ $? -eq 0 ]&nbsp;&nbsp;
&nbsp;&nbsp;then&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;echo $line:ok&nbsp;&nbsp;
&nbsp;&nbsp;else&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;echo $line:fail&nbsp;&nbsp;
&nbsp;&nbsp;fi&nbsp;&nbsp; 
done 
</textarea><br/>运行：<br/>sh ncports.sh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>192.168.0.100 80:fail<br/>192.168.0.100 8081:fail<br/>192.168.0.101 8082:fail<br/>192.168.1.100 21:fail<br/><br/>二、将IP全写到一个shell脚本的数组里：<br/>/tmp/foreachnc.sh<br/><textarea name="code" class="php" rows="15" cols="100">
#!/bin/bash

nc_remote_hosts=(
&nbsp;&nbsp;10.73.234.143
&nbsp;&nbsp;123.57.252.183
)
for host in $&#123;nc_remote_hosts[@]&#125;; do
&nbsp;&nbsp;/usr/bin/nc -w 1 -z $host 22
&nbsp;&nbsp;&nbsp;&nbsp;if [[ $? -eq 0 ]]; then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo -e &quot;&#92;033[40;32mnc $host success. &#92;033[0m&quot;
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo -e &quot;&#92;033[5;40;31mnc $host failed. $@&#92;033[0m&quot;
&nbsp;&nbsp;&nbsp;&nbsp;fi
done
echo -e &quot;&#92;033[40;32;1mAll done.&#92;033[0m&quot;
</textarea><br/>#sh foreachnc.sh <br/>Connection to 10.73.234.143 22 port [tcp/ssh] succeeded!&nbsp;&nbsp;#绿色显示<br/>nc 10.73.234.143 success. <br/>Connection to 123.57.252.183 22 port [tcp/ssh] succeeded!<br/>nc 123.57.252.183 success. <br/>==========================================================================<br/><br/><br/><br/>netcat 在centos里叫：<br/>nc.x86_64<br/>可以用：<br/>yum search nc<br/>找下。<br/>——————<br/>[root@jackxiang ~]# yum install nc.x86_64<br/>Total download size: 57 k<br/>Installed size: 109 k<br/>Is this ok [y/N]: y<br/><br/>http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1-1.i386.rpm/download<br/><br/><div class="code"><br/>&#91;/home/jackxiang/netcat&#93;# rpm -ihv netcat-0.7.1-1.i386.rpm <br/>warning: netcat-0.7.1-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID b2d79fc1<br/>Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;########################################### &#91;100%&#93;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;package netcat-1.10-883.2 (which is newer than netcat-0.7.1-1) is already installed<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file /usr/bin/netcat from install of netcat-0.7.1-1 conflicts with file from package netcat-1.10-883.2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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</div><br/><br/>netcat的命令行程序名字为nc,是netcat的缩写,安装完了是找不到netcat这个程序的.<br/><br/><br/><div class="code">&#91;root@linux ~&#93;# nc &#91;IP&#124;host&#93; &#91;port&#93;<br/>&#91;root@linux ~&#93;# nc -l -p &#91;port&#93;<br/>参数：<br/>-l，作为监听之用，亦即开启一个 port 来监听用户的联机。<br/>-p，开启的这个 Port Number。</div><br/><div class="code">root@mail etc #nc -h<br/>GNU netcat 0.7.0, a rewrite of the famous networking tool.<br/>Basic usages:<br/>connect to somewhere: nc &#91;options&#93; hostname port &#91;port&#93; ...<br/>listen for inbound: nc -l -p port &#91;options&#93; &#91;hostname&#93; &#91;port&#93; ...<br/>tunnel to somewhere: nc -L hostnameort -p port &#91;options&#93;<br/><br/>Mandatory arguments to long options are mandatory for short options too.<br/>Options:<br/>-c, --close close connection on EOF from stdin<br/>-e, --exec=PROGRAM program to exec after connect<br/>-g, --gateway=LIST source-routing hop point&#91;s&#93;, up to 8<br/>-G, --pointer=NUM source-routing pointer: 4, 8, 12, ...<br/>-h, --help display this help and exit<br/>-i, --interval=SECS delay interval for lines sent, ports scanned<br/>-l, --listen listen mode, for inbound connects<br/>-L, --tunnel=ADDRESS:PORT forward local port to remote address<br/>-n, --dont-resolve numeric-only IP addresses, no DNS<br/>-o, --output=FILE output hexdump traffic to FILE (implies -x)<br/>-p, --local-port=NUM local port number<br/>-r, --randomize randomize local and remote ports</div><br/><br/><br/><div class="code">/usr/bin/ 已经在path下面<br/>vi vi .bash_profile <br/>加入：<br/>alias nc=&#039;netcat&#039;</div><br/><br/><div class="code">source /root/.bash_profile </div><br/><br/>可以执行nc了，哈哈<br/><br/>nc (NetCat) 网络安全工具介绍 搞系统安全的人，可能没人没听说过大名鼎鼎的nc吧，它可以代替telnet，可以启监听程序，可以用来传输文件，可以用来作为黑客辅助程序，深受大量hacker的喜爱，其功能有如瑞士军刀般好用。<br/>NetCat是一个非常简单的Unix工具，可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具，能被其它的程序程序或脚本直接地或容易地驱动。同时，它又是一个功能丰富的网络调试和开发工具，因为它可以建立你可能用到的几乎任何类型的连接，以及一些非常有意思的内建功能。NetCat，它的实际可运行的名字叫nc，应该早很就被提供，就象另一个没有公开但是标准的Unix工具。有gnu版本和 windows下的运行版本, 这里仅介绍unix版的。<br/><br/><br/>NetCat可以发现网络上的设备并且绘制网络地图。人们可以从Sourceforge网站和@stake网站下载这一工具。NetCat是由一位前@stake员工所编写。<br/><br/>目前，@stake大约提供二十多种安全工具，工具种类涉及信息采集、证据收集、网络实用工具、口令审计、恢复与修补以及安全漏洞扫描等。其中，Andreas Junestam编写的WFPdisable、Paul Clip编写的AUSTIN、Frederic Bret-Mount开发的ComBust以及Ollie Whitehouse开发的WAP Assessment Tool都以保持最新状态而闻名<br/><br/>首先我们要弄明白netcat的工作原理,其实netcat的原理很简单,它就是从网络的一端读入数据,然后输出到网络的另一端,它可以使用tcp 和udp协议.之所以叫做netcat,因为它是网络上的cat,想象一下cat的功能,读出一个文件的内容,然后输出到屏幕上(默认的stdout是屏幕,当然可以重定向到其他地方).netcat也是如此,它读取一端的输入,然后传送到网络的另一端,<br/>就这么简单.但是千万不要小看了它,netcat可以完成很多任务,,尤其是和其他程序组合时.好了,废话少说,进入正题吧.:p<br/>网上有两种版本的netcat,一个是@stake公司的netcat,在<br/>http://www.l0pht.com/~weld/netcat/<br/>可以下载。<br/><br/>gnu的可以在 http://netcat.sourceforge.net/download.php 下载。<br/><br/>FreeBSD下的安装：<br/><br/>cvsup更新ports后，<br/># cd /usr/ports/net/netcat &amp;&amp; make -s install distclean<br/><br/>安装好后，输入<br/>nc或man nc，就可以看到相关信息了。<br/><br/>使用：<br/><br/>最简单的使用方法，”nc host port”，能建立一个TCP连接，连向指定的主机和端口。接下来，你的从标准输入中输入的任何内容都会被发送到指定的主机，任何通过连接返回来的信息都被显示在你的标准输出上。这个连接会一直持续下去，至到连接两端的程序关闭连接。注意，这种行为不同于大多数网络程序，它们会在从标准输入读到一个文件结束符后退出。<br/>NetCat还可以当服务器使用，监听任意指定端口的连接请求(inbound connection)，并可做同样的读写操作。除了较小限制外，它实际并不关心自己以“客户端”模式还是“服务器”模式运行，它都会来回运送全部数据。在任何一种模式下，都可以设置一个非活动时间来强行关闭连接。<br/>它还可以通过UDP来完成这些功能，因此它就象一个telnet那样的UDP程序，用来测试你的UDP服务器。正如它的“U”所指的，UDP跟TCP相比是一种不可靠的数据传输，一些系统在使用UDP传送大量数据时会遇到麻烦，但它还有一些用途。<br/>你可能会问“为什么不用telnet来连接任意的端口”？问题提得好(valid)，这儿有一些理由。Telnet有“标准输入文件结束符 (standard input EOF)”问题，所以需要在脚本中延迟计算以便等待网络输出结束。这就是netcat持续运行直到连接被关闭的主要原因。Telnet也不能传输任意的二进制数据，因为一些特定的字符会被解释为Telnet的参数而被从数据流中去除。Telnet还将它的一些诊断信息显示到标准输出上，而NetCat会将这信息与它的输出分开以不改变真实数据的传输，除非你要求它这么做。当然了，Telnet也不能监听端口，也不能使用UDP。NetCat没有这些限制，比Telnet更小巧和快捷，而且还有一些其它的功能。<br/><br/>
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]nc (NetCat) 网络安全工具介绍以及用nc-1.84-24.el6进行批量IP的端口扫描,nc在centos里的rpm包叫啥？及查找方法，nc输入多行换行命令。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>