perl如何捕捉访问80端口的所有URL

perl如何捕捉访问80端口的所有URL

如果捕捉到有访问http://www.simple/service.php?=1时并将其转到http://www.simple/right.html.急啊

setup mod_rewrite for apache...
or
use redirect....
也可以通过分析日志实现吧,  通过查找 http://www.simple/right.html  匹配 http://www.simple/service.php?=1
关健是不能是apache,是apple 服务器,没有jsp或其它方法可用,只有监听端口方法,用perl怎么做??
你那端口本身已经被http进程给占了吧?
你用perl怎么去读取这个端口的数据?
除非代码是写进http进程的
如果全部用perl写, 工作量就大了.

比较方便的是:
1. 用tcpdump 抓取80端口的数据包, 生成文件 httpd_log.log
2. 用perl分析tcpdump生成的文件.


QUOTE:
原帖由 luckyelement 于 2008-2-26 16:37 发表
如果全部用perl写, 工作量就大了.

比较方便的是:
1. 用tcpdump 抓取80端口的数据包, 生成文件 httpd_log.log
2. 用perl分析tcpdump生成的文件.

我错了


QUOTE:
原帖由 churchmice 于 2008-2-26 18:08 发表



我错了

你错了?哪里错了?


QUOTE:
原帖由 udb6688 于 2008-2-26 15:59 发表
关健是不能是apache,是apple 服务器,没有jsp或其它方法可用,只有监听端口方法,用perl怎么做??

我觉得你这个问题还是应该从你的服务器配置或者实际的程序代码入手.
你在另一个帖子里面问怎么监听8080端口也是为了这个问题吧?


QUOTE:
原帖由 udb6688 于 2008-2-26 15:59 发表
关健是不能是apache,是apple 服务器,没有jsp或其它方法可用,只有监听端口方法,用perl怎么做??

apple服务器是用什麽当web server...
OS X 好像是BSD的後代...也是Unix的一种..
现在应该很少不是用apache的httpd 或iis的了.....
查查看资料...也许可以找到你要的内容...

花钱买台好一点的Dispatcher或防火墙....过滤出来..再改写封包内容....