2008年11月18日星期二

Ubuntu Linux系统下的两个网络扫描工具

Nbtscan---从Windows网络上收集NetBIOS信息

工具名称:nbtscan-1.5.1a
应用环境:Linux  
工具介绍:这是一款用于扫描Windows网络上NetBIOS名字信息的程序。该程序对给出范围内的每一个地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTScan列出它的IP地址、NetBIOS计算机名、登录用户名和MAC地址。

nmap---网络扫描和嗅探工具包
工具名称:nmap-3.50 
应用环境:Linux  
工具介绍:NMap是Linux下的网络扫描和嗅探工具包。可以帮助网管人员深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有 探测结果记录到各种格式的日志中,为系统安全服务。NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操 作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。但了nmap被发现存在DOS攻击, 针对这类攻击,可采取如下措施:安装系统卖方的最新补丁;用未受影响的系统做防火墙。 

示例:

适用于内外网的探测,以内网操作为示例(外网参数同)

简单端口扫描: nmap -vv -sT(sS、sF、sU、sA) 192.168.0.1 -D 127.0.0.1(-D伪造的地址)
OS检测: nmap -vv -sS -O 192.168.0.1

RPC鉴别: nmap -sS -sR 192.168.0.1 Linux上的portmap就是一个简单的RPC服务,监听端口为111(默认),测试网络扫描和嗅探工 具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操 作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
官方下载及文档地址:http://insecure.org/nmap/

使用

进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):

nmap -sP 192.168.1.0/24

仅列出指定网络上的每台主机,不发送任何报文到目标主机:

nmap -sL 192.168.1.0/24

探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):

nmap -PS 192.168.1.234

使用UDP ping探测主机:

nmap -PU 192.168.1.0/24

使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:

nmap -sS 192.168.1.0/24

当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:

nmap -sT 192.168.1.0/24

UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:

nmap -sU 192.168.1.0/24

确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):

nmap -sO 192.168.1.19

探测目标主机的操作系统:

nmap -O 192.168.1.19

nmap -A 192.168.1.19

另外,nmap官方文档中的例子:

nmap -v scanme.nmap.org

这个选项扫描主机scanme.nmap.org中 所有的保留TCP端口。选项-v启用细节模式。

nmap -sS -O scanme.nmap.org/24

进行秘密SYN扫描,对象为主机Saznme所在的“C类”网段 的255台主机。同时尝试确定每台工作主机的操作系统类型。因为进行SYN扫描 和操作系统检测,这个扫描需要有根权限。

nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127

进行主机列举和TCP扫描,对象为B类188.116网段中255个8位子网。这 个测试用于确定系统是否运行了sshd、DNS、imapd或4564端口。如果这些端口 打开,将使用版本检测来确定哪种应用在运行。

nmap -v -iR 100000 -P0 -p 80

随机选择100000台主机扫描是否运行Web服务器(80端口)。由起始阶段 发送探测报文来确定主机是否工作非常浪费时间,而且只需探测主机的一个端口,因 此使用-P0禁止对主机列表。

nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

扫描4096个IP地址,查找Web服务器(不ping),将结果以Grep和XML格式保存。

host -l company.com cut -d -f 4 nmap -v -iL -

进行DNS区域传输,以发现company.com中的主机,然后将IP地址提供给 Nmap。上述命令用于GNU/Linux -- 其它系统进行区域传输时有不同的命令。

其他选项:

-p (只扫描指定的端口)

单个端口和用连字符表示的端口范 围(如 1-1023)都可以。当既扫描TCP端口又扫描UDP端口时,可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。

-F (快速 (有限的端口) 扫描)

Tcpdump:Linux下基于命令行的抓包工具

Linux操作系统维护常用工具Sysstat介绍

sysstat这个工具,可以说是linux &Unix 以及Freebsd最常用的工具。它的主要用途就是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。
对于这个工具,如何使用呢??如果您想看即时 服务器的CPU,内存,网络使用率的命令,比如:mpstat iostat ,您可以简单的用下面的命令,如果更复杂一点,您可以用man来查看所有命令的用法。

比如:

[beinan@S11 beinan]$ iostat
Linux 2.4.22-2f (S11) 2004年10月30日

avg-cpu: %user %nice %system %iowait %idle
8.64 0.00 0.95 0.00 90.41
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev3-0 2.97 55.28 38.84 213314 149856

[beinan@S11 beinan]$ mpstat
Linux 2.4.22-2f (S11) 2004年10月30日

03时13分56秒 CPU %user %nice %sys %iowait %irq %soft %idle intr/s
03时13分56秒 all 8.56 0.00 0.94 0.00 0.00 0.00 90.50 84.32

比如观察磁盘的读写速度:

[beinan@S11 beinan]$ iostat -p
Linux 2.4.22-2f (S11) 2004年10月30日

avg-cpu: %user %nice %system %iowait %idle
33.54 0.00 4.95 0.86 60.65

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 26.26 186.57 481.17 16117015 41564960
hda1 3.29 1.33 26.01 115138 2246456
hda2 19.86 26.49 149.65 2288449 12927104
hda3 40.16 158.57 305.51 13697580 26391400
hda5 0.00 0.00 0.00 8 0

在每个命令中都有好多选项,这需要我们来实践,不是吗??

如果是想让服务器自动运行,并且想每个小时都有一个数据反馈,我们可以用cron 来让执行sa1 sa2,这样就有一份日志文件存在/var/log/sa/目录中。我们到时运行sar就能知道所有过去时间每个小时运行情况:

可以写一个命令到一个文件中。。。把这个文件设置为755的执行权限,放在/etc/cron.hourly目录中。

[root@S11 root]# cd /etc/cron.hourly/ 进入目录
[root@S11 cron.hourly]# touch sa1ho 创建文件,这个文件名可以自己来命名
[root@S11 cron.hourly]# chmod 755 sa1ho
然后在这个文件中写入下面的一行

/usr/local/lib/sa/sa1&

这样每一个小时,就有日志文件写入/var/log/sa/目录中了,当然还有一个/usr/local/lib/sa/sa2的命令,也可以写一个文件到 在/etc/cron.weekly/目录中,sa2是做什么用的呢?自己先看看帮助文件,当然也可以写入/etc/cron.hourly/ ,这样就每小时一次。

Linux操作系统下Oracle主要监控工具介绍

1.top
top命令可实时地显示Linux系统的进程、CPU、内存、负载等的信息。它是我们了解系统整体状态最好的工具。
top命令的运行状态是一个实时的显示过程,我们可在这个界面监控系统运行情况。我们可通过几个按键来控制top命令,如按q可退出top命令状态,按s可输入信息的更新频率等。这些命令可按h帮助键查询。
2.Ps
ps命令可查询系统的进程状态,常用的命令参数是ps -aux,该命令可显示所有用户的进程,如果进程的命令太长,则显示的进程信息会不全。我们可用ps -auxw命令来加长显示,w参数可多加几个,最多可加三个,以显示更长的进程信息。
3.Kill
kill命令可终止进程,后接进程号即可。
4.Free
free可显示系统的内存使用情况。-b、-k、-m三个参数表示以bytes,kilobytes和megabytes为单位显示内存的使用情况。
5.Vmstat
使用vmstat 2 命令可每隔2秒显示一行系统信息,这些信息包括CPU占用效、内存使用情况和磁盘IO等。通过它我们可实时监控系统的资源使用情况,进行系统优化。
6.sar
sar工具可帮我们收集动态的系统信息,它的参数很丰富,功能强大。sar工具的特点是可通过计数器和计数间隔来定期、定量地输出系统状态信息。
7.watch
watch命令可重复执行某个命令,监控命令的执行状态。下面这个命令可让我们监控Z2.log文件的大小变化。
debian:~# watch -n 3 du /home/Jims/zope/log/Z2.log
-n 3表示每隔3秒执行一次du /home/Jims/zope/log/Z2.log。
8.Sysctl
使用sysctl -a可显示所有运行中的内核参数,用sysctl -w fs.file-max=10240 命令可修改fs.file-max内核参数的值,并使参数马上生效。但重启系统后,参数设置会失效,因为命令行只能修改运行中的内核参数。如果我们要把参数设置固定下来,可把内核参数写入/etc/sysctl.conf文件。该文件的格式如下:

# /etc/sysctl.conf - Configuration file for setting system variables
# See sysctl.conf (5) for information.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

9.Ulimit
使用ulimit -a可显示系统的资源限制情况。
10.Netstat
netstat -nal可显示所有的网络连接。
11.Pppstat
使用pppstats可得到ppp连接的状态信息。

watch -- 监测命令的运行结果

watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。
举例来说,Linux 系统有一个基础命令 w,可以显示当前的 uptime、负载还有登录的用户,非常方便,但是如果我想监测这些数据,看看有没有新用户登入,看看某段的时间的负载是不是太大之类的,就得手动一遍遍的运行这个命令,然后查看结果,虽然命令只有一个字母,但是还是很郁闷……
watch 就是干这个用的,直接在 watch 后面接你想运行的命令,watch 就会帮你重复运行,并把每次的结果都更新在屏幕上~
要想监测 w 命令的运行结果,只要 watch w 就可以了:
默认 watch 会以 2s 的间隔重复运行命令,你也可以用 -n 参数指定时间间隔~
还有一个实用的参数是 -d,这样 watch 会帮你高亮显示变化的区域,这样更加一目了然了~
Ctrl+c 就可以退出~
你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了~
如果你的发行版中不幸没有这个命令,可以到这里下载安装,watch 属于 procps 这个软件包。

实用技巧:如何有效率的操作Linux命令行

bash有两种输入模式vi模式和emacs模式,其中emacs是默认模式,而且操作起来也比vi模式要快捷。可以通过 set -o vi和set -o emacs来转换。

1.在命令历史中查找
强烈推荐使用 Ctrl+r, 这个键组合是反向增量查找消息历史。很好用。 比如你很久以前输入过某个命令如。 gcc -c -DKKT - Dnnn 等等,一长串, 用上下方向键来找比较困难,这时候可以Ctrl+r,然后输入gcc很快找到该命令,重复按Ctrl+r将查找更早的历史。

其实还有 Ctrl+s 是正向增量查找的,但是由于这个快捷键被终端预设成锁屏幕了,没有效果。不过可以使用命令 stty -ixon -ixoff来解除绑定.再举一个Ctrl+r和Ctrl+s的应用吧.

比如我打入了如下命令,
echo aa bb cc d ee ff gg kk qq

然后我发现我要修改一下,把d修改成dd,这时候只要Ctrl+r 输入d,就立刻定位到d所在的位置,然后Ctrl+f一下,再输入d即可

2.命令行中移动
Ctrl+f Ctrl+b 分别是前后移动一个字符的距离
Alt+f Alt+b 是前后移动一个单词的距离这个很快比如你输入了
$grep -e funtion file1 file2 file3

然后你发现funtion错了,要移动回来修改,则可以Alt+b三下就移动回来了,很快。

Ctrl+a Ctrl+e 移动到行首和行尾。这个也很好用,如果输入了一长串命令行,发现第一个单词拼错了,可以Ctrl+a到开头再进行修改。

3.删除
Alt+d 往右边删除一个单词
Alt+Backspace 往左删除一个单词
Ctrl+u 往左删除到行首
Ctrl+k 往右删除到行末

其中这些删除都放入了删除环里面,可以使用Ctrl+y找回,Alt+y在删除环里面移动也就是说命令行里面可以使用剪切和粘贴了。

上面的几条如果用熟练了效率能提高很多。

而如果还想了解更多的快捷键绑定,敲如下命令
bind -P

发现有些你需要的功能而没有快捷键绑定的话可以如下绑定,比如我绑定了两个函数
bind -m emacs '"\M-w": kill-region'
bind -m emacs '"\M-W": copy-region-as-kill'

Mirage -- 又一款轻量图片浏览器

原来介绍过 Gimmage 和 Ristretto 这两款轻量的图像浏览器,类似于 Windows 下的图片和传真查看器,简单快速,适合一般性的图片浏览。
今天再介绍一个相似的软件 Mirage,Mirage 基于 PyGtk,并且只依赖 PyGtk 和 Gtk,不依赖其他的复杂软件包和桌面环境。
同时,Mirage 也支持幻灯片放映、图片大小调整、图片切割和旋转等功能。

SecPanel — 管理 SSH 及 SCP 连接

SecPanel 是一款图形化的 SSH 及 SCP 连接管理工具。当前,SecPanel 支持 SSH.com 和 OpenSSH,不仅允许你配置、管理 SSH 及 SCP 连接,而且包括密钥处理、SSH Agent 等功能。
运行 SecPanel 需要你的 Linux 系统安装有 Tcl/Tk。最新版本 0.5.4,提供 DEB、RPM、TGZ 等格式的安装包。

3 步搞定 Linux 下的音频转换 

如果你需要在 Linux 下进行音频格式转换,那么 Audio-convert-mod 是一个值得一用的工具。Audio-convert-mod 简单易用,转换音频格式文件只需三步即可搞定。另外,使用 Audio-convert-mod 可执行批量转换。目前,Audio-convert-mod 支持 MP3、OGG、FLAC、WAV、AAC/MP4/M4A、MAC/Monkey’s Audio/APE、MPC (Musepack)、WV (wavpack) 等音频格式的编码和解码。
Audio-convert-mod 的当前版本为 3.45.2,提供有源码包和 RPM 包。安装 Audio-convert-mod 需要 gawk 和 file。此外,为了获得上述音频格式的编码/解码支持,需要安装一些常用的编码/解码器,比如:lame 用于 MP3 转换、vorbis-tools 用于 OGG 转换、flac 用于 FLAC 转换、mac 用于 APE 转换等等。
在启动 Audio-convert-mod 后,通过点击 File → Show Features 菜单可以查看 Audio-convert-mod 所支持的音频格式是否可用。如果显示为绿色则表示支持;若为红色则表示不支持,需要安装相应的编码/解码器。

Audio-convert-mod 使用过程
下面让我们来看一下 Audio-convert-mod 的基本使用步骤:
1、选择文件

如上图所示,点击 Add 按钮来选择要转换的音频文件,或者点击 Add directory 来选择一个包含多个音频文件的目录。如果列表中包含不想转换的音频文件,随时可以点击 Remove 按钮来移除它。
2、转换设置

在第二步,需要选择输出的音频格式及其比特率。另外,也可根据实际情况设置其他选项,如针对源文件、目标文件存在、元数据、输出文件夹设置相应选项。
3、开始转换

当转换设置完成后,点击 Next 即开始音频格式的转换过程。
一些缺憾
我感觉 Audio-convert-mod 还存在一些缺憾,比如在转换 APE 时无法利用 CUE 文件执行分割操作,不过,我们可以使用 shntool 这个命令行工具来完成;另外,不能将转换设置保存为预置文件 (虽然有个保存为默认值的选项,但还是不够方便和灵活),因而也就无法作多次的重复调用。

结束不响应的程序

1.我将“强制关闭”程序放在我的任务栏上,如果哪个程序出现问题可以单击“强制关闭”图标并结束该程序  2.如果上一步不奏效,调用终端,用“ps -A”,记下那个出问题程序的进程号,结束它  3.使用“killall”命令,比如“killall firefox-bin”  4.如果整个图形界面都冻结,你已经不可能调用终端,按CTRL-ALT-F1,这样可以转到另一个终端,这样你就可以使用步骤2和3来结束出问题的程序。  5.还不行的话,你可以使用CTRL-ALT-Backspace组合重启你的图形界面,但是要注意的是,这样会结束你正在运行的GUI程序。  6.调用CTRL-ALT-F1再使用CTRL+ALT+DEL这样不会立即重启你的系统,只是按照正常模式重启,所以是安全的(假定你想要重启并且CTRL-ALT-F1可用)。

LXTask -- 简易版任务管理器 

LXTask 是一款简易的任务管理器,虽然没有 Gnome-system-monitor 功能那么丰富,但是他只依赖于 Gtk+,不依赖于任何桌面环境,使用起来也简单明了

Linux系统下用一条命令批量修改图片尺寸

经常拍照片经常会需要把大量的照片尺寸缩小,以方便网上传输或者存储。

下面介绍一种简单的方法把大量照片变到指定尺寸

find ./ -name '*.jpg' -exec convert -resize 600x480 {} {} \;

注意空格和最后的分号。转换后会覆盖源文件。这里用到两个命令。

这条命令的意思是找到当前目录所有jpg文件。执行conver -resize 600x480 文件名 文件名。find会把每个

Linux 下值得使用的 5 个屏幕录像软件

Ttyutils: Linux 终端截获工具 

GScrot - Scrot 的图形化前端 

Xvidcap 1.1.7发布 

Catfish - 简洁、好用的文件搜索工具

Glow:非常漂亮的GNOME主题

picasup: picasa相册上传脚本 

jed——文本编辑器中的小李飞刀 

samhain:比较变态的入侵检测系统

xtrlock:锁住 X,但是仍然显示内容 

Speedometer -- 终端下的网络监测工具 

Cacti:网络流量监测工具 

2008年11月17日星期一

Synkron:跨平台的文件同步工具

Synkron 是一款自由开源的文件同步工具,它允许你跨平台运行,支持包括 Linux/Unix、Mac OS X、Windows 等多个系统。Synkron 既可以同步多个文件夹,也支持按计划自动同步。另外,Synkron 还包括黑名单功能,使你能够对不想同步的文件/文件夹进行过滤。

Memstat -- 查看共享库的内存占用

我们可以用 top 或者 系统管理器 这样的工具来查看各个进程的内存占用,不过内存中不光有你运行的进程,还驻留着进程需要的共享库,比如最基本的 libc.so。这些共享库在物理内存上只存在一份拷贝,而被多个进程共享。我们在 top 中查看进程信息的时候,会有 RSS 和 VSZ 两个项目,前者是进程本身的内存占用,而后者是算上共享库的总占用。
Memstat 这个小程序可以帮你查看每个共享库的内存占用,让他们现形。

Darkhttpd -- 超小型静态 http 服务器

pho:轻巧的命令行图片查看器

基于终端的常用工具

就算 Linux 没有 GUI(图形用户界面),我们在 CLI(命令行界面)中依然能够应付自如。从浏览网络到联络朋友,从获取资源到音影娱乐,从编辑文本到观看图片……在 GUI 中能做的,CLI 也同样可以办到。我想这即是 Linux 的魅力了。
网络浏览:推荐使用 Elinks,Elinks 对于框架、表格以及鼠标的支持都很不错。当然,你也可以将 LynxLinksw3m 作为备选。
邮件收发:Mutt + Fetchmail + msmtp 是很好的组合。其中,Mutt 用于邮件的管理,Fetchmail 用来收取邮件,而 msmtp 则用来发送邮件。
联络聊天:CenterICQ 支持 MSN、Jabber、IRC、Yahoo!、AIM、ICQ 等多种即时通讯协议。它同时也具有一个 UTF-8 版本。其他的工具包括 Freetalk(Gtalk 用户适用)、Naim(支持 AIM、ICQ、IRC 等)、Irssi(IRC 用户适用) 等。
新闻阅读:现在通过 RSS 及时获取信息是一种比较流行的方式。你可以使用 Raggle 来满足每天阅读新闻的需求。Raggle 使用 Ruby 所写,它支持各种版本的 RSS、能够导入/导出 OPML、可定制绑定的快捷键。遗憾的是,Raggle 目前不支持中文。Snownews 虽然功能要弱点,但是对于中文支持很好。
文件管理:Midnight Commander(简称 mc)是一个值得使用的文件管理工具。
查看图片:你可以试试 zgv,我也在使用 feh
听歌观影:如果你需要听歌,MOC 绝对值得一用。另外,你也可以试试 cplay。看电影的话,当然是 MPlayer 了。
文本编辑:既然已经有了 VIMEmacs,那么我们还奢求什么呢?
下载上传:主力下载工具使用 wget,要加速可以使用 axel。至于上传 ftp,lftp、nftp 都是不错的选择。此外,对付 BitTorrent 的话,则可以使用 rTorrent
窗口管理:Twin,我没有用过,不晓得怎样,有兴趣者可自行从其主页了解详情。我现在使用 Screen,并已经习惯了开机便进入 Screen 的生活。

2008年11月16日星期日

介绍两个批量重命名的工具

thunar 这个 xfce 下的文件管理器,它自带了一个批量重命名的工具,下面我们主要来介绍一个专业的更为强大的批量重命名工具-------Métamorphose

2008年11月14日星期五

2008年11月11日星期二

Procice GUI -- ps 和 kill 的 GUI 前端

曾经介绍过一款非常轻量的任务管理器 LXTask,如果你闲那个还不够轻的话,可以试试这个 Procice GUI。
Procice GUI 其实就是 ps 命令和 kill 命令的 GUI 前端。Procice GUI 基于 gtk-per,只有一个仅 20K 的可执行文件