<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oasis Feng &#187; 跟踪</title>
	<atom:link href="http://blog.oasisfeng.com/tag/%e8%b7%9f%e8%b8%aa/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.oasisfeng.com</link>
	<description>Challenge your imagination!</description>
	<lastBuildDate>Sun, 22 Aug 2010 18:15:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>【Linux小技巧】秘密追踪——谁用了我的大宝？&gt;v</title>
		<link>http://blog.oasisfeng.com/2008/07/02/who-used-my-dabao/</link>
		<comments>http://blog.oasisfeng.com/2008/07/02/who-used-my-dabao/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 14:01:52 +0000</pubDate>
		<dc:creator>oasisfeng</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[跟踪]]></category>
		<category><![CDATA[initrd]]></category>
		<category><![CDATA[PPID]]></category>
		<category><![CDATA[track]]></category>

		<guid isPermaLink="false">http://blog.oasisfeng.com/?p=320</guid>
		<description><![CDATA[如果宿舍里就你买了一瓶大宝，而且用了之后效果还挺不错。隔不久，你就发现最近这瓶大宝似乎用的有点快了，敢情是哪个哥们儿想买之前先试用一下？不巧的是，你恰好非常好奇这哥们儿是谁，想要搞一次秘密追踪。啥？指纹鉴别？噢，请原谅我没有那么专业的器材…… 不过土办法、馊主意我们还是有的：只要往大宝里掺和一点稀释过的辣椒水，隔天就等着找猴子屁股吧。^_+ 扯太远了，其实本篇是想和大家分享一个在Linux下利用辣椒水的思路实现追踪程序被调用情况的小技巧。因为前段时间在分析Linux中各种内核模块被加载的方式、时间和源头。为此，我写了一个小小的Shell脚本： trackme.sh #!/usr/bash echo [`date`] [`cat /proc/$PPID/cmdline &#124; tr "\000" " "`] $0 $* > /var/log/$0.log $0.org $* 然后将需要跟踪调用情况的程序更名（在我的例子中是/sbin下的modprobe和insmod），添加一个.org的后缀。再在原位置分别以原名（modprobe和insmod）创建符号链接指向上面这个脚本。 这样，一旦modprobe或insmod被执行，则案发时间、嫌疑人（包含完整的命令行）、作案手段（全部传入参数）均被完整记录在案（/var/log下同名的日志文件），一个都逃不掉！ 最后补充一点，如果还需要记录在Linux启动早期initrd阶段中的调用，则需要将上述脚本打包到initrd镜像中，同时一并修改initrd中需要跟踪的程序（方法同上）。由于不同版本的Linux可能对/var/log处理方式有差别，最好将日志记录位置调整为/dev/shm（前提是内核中编译进了tmpfs模块）。这是一个相对安全的暂存空间，不会因为rootfs的更替而丢失，在启动完成后也可以顺利查阅到。 小小技巧，还望大虾们不要见笑，若能点拨一二，不甚感激！ 嘿，小样，别以为抹了辣椒水我就认不出你了！]]></description>
			<content:encoded><![CDATA[<blockquote><p>如果宿舍里就你买了一瓶大宝，而且用了之后效果还挺不错。隔不久，你就发现最近这瓶大宝似乎用的有点快了，敢情是哪个哥们儿想买之前先试用一下？不巧的是，你恰好非常好奇这哥们儿是谁，想要搞一次秘密追踪。啥？指纹鉴别？噢，请原谅我没有那么专业的器材…… 不过土办法、馊主意我们还是有的：只要往大宝里掺和一点稀释过的辣椒水，隔天就等着找猴子屁股吧。^_+</p></blockquote>
<p>扯太远了，其实本篇是想和大家分享一个在Linux下利用辣椒水的思路实现追踪程序被调用情况的小技巧。因为前段时间在分析Linux中各种内核模块被加载的方式、时间和源头。为此，我写了一个小小的Shell脚本：</p>
<p><span id="more-320"></span>trackme.sh</p>
<pre>#!/usr/bash
echo [`date`] [`cat /proc/$PPID/cmdline | tr "\000" " "`] $0 $* > /var/log/$0.log
$0.org $*</pre>
<p>然后将需要跟踪调用情况的程序更名（在我的例子中是/sbin下的modprobe和insmod），添加一个.org的后缀。再在原位置分别以原名（modprobe和insmod）创建符号链接指向上面这个脚本。</p>
<p>这样，一旦modprobe或insmod被执行，则案发时间、嫌疑人（包含完整的命令行）、作案手段（全部传入参数）均被完整记录在案（/var/log下同名的日志文件），一个都逃不掉！</p>
<p>最后补充一点，如果还需要记录在Linux启动早期initrd阶段中的调用，则需要将上述脚本打包到initrd镜像中，同时一并修改initrd中需要跟踪的程序（方法同上）。由于不同版本的Linux可能对/var/log处理方式有差别，最好将日志记录位置调整为/dev/shm（前提是内核中编译进了tmpfs模块）。这是一个相对安全的暂存空间，不会因为rootfs的更替而丢失，在启动完成后也可以顺利查阅到。</p>
<p>小小技巧，还望大虾们不要见笑，若能点拨一二，不甚感激！</p>
<blockquote><p>嘿，小样，别以为抹了辣椒水我就认不出你了！</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.oasisfeng.com/2008/07/02/who-used-my-dabao/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.482 seconds -->
