CoffeeCat's IT Blog

为下一个目标而奋斗

    等待已久的全国上半年软件水平考试的成绩终于出来了,我考的是程序员。虽然我很自信肯定能通过,不过,我还是很期待最终的分数。

    最终的成绩:上午62,下午71,顺利地通过了考试,而且成绩还不错(因为是75分制的 ^_^)。

    如愿拿到了程序员的证书,当然,这不是最终目标,因为还有软件设计师,还有英语。

    加油,为了下一个目标而奋斗!


CoffeeCat

2007-07-17

posted @ 2007-07-17 17:13 CoffeeCat 阅读(169) | 评论 (0)编辑 收藏

WinPcap V4.01 中文手册 正式发布

最新版本请浏览
http://www.cnitblog.com/CoffeeCat/archive/2007/10/09/34588.html


    经过了将近1个星期的翻译,WinPcap V4.01 中文手册 正式发布了!

    翻译确实是一件很辛苦的事情,希望我的翻译能为大家带来方便,愿大家充分利用WinPcap库,创造出优秀的应用程序来,当然,不要用来开发黑客软件喔~~~

    本手册只有高级部分没有翻译,我怕翻的不准确,就保留原文啦,还请大家见谅。



    在线阅读:http://WinPcap.CoffeeCat.net.cn

    意见讨论:http://wyx.web.shiep.edu.cn/CoffeeCat/studio/article.asp?id=40



CoffeeCat
2007-07-16

posted @ 2007-07-17 14:55 CoffeeCat 阅读(775) | 评论 (0)编辑 收藏

JpCap的Unexpected Error解决方法讨论

    这学期,我们网络的课程设计的软件部分,是编写一个捕获数据包的程序。本来,我打算用C++编写基于WinPcap的程序,不过由于我不会MFC,所以只能做出Dos这样的界面,于是,我就用基于JpCap的Java语言写。

    程序写完了,在我自己机器上运行,没什么问题,难得出现一次Unexpected Error的提示,我也没理会它。

    今天,去学校的机房运行,顿时傻眼,因为程序根本不能运行,每次运行都会出现Unexpected Error。以下是程序:

import jpcap.*;
import jpcap.packet.*;
import java.sql.Timestamp;

//创建一个执行接口PacketReceiver类的一个实例IP类
class IP implements PacketReceiver
{
    
public void receivePacket(Packet packet)
    {
        System.out.println(
"捕获一个IP数据报");
        System.out.println();
        System.out.println(
"捕获时间为:"+new Timestamp((packet.sec * 1000+ (packet.usec / 1000))  );
        System.out.println();
        System.out.println(
"IP头长度为:"+packet.header.length);
        System.out.println(); 
        System.out.println(
"目的IP地址为:"+((IPPacket)packet).dst_ip.toString());
        System.out.println(); 
        System.out.println(
"数据内容为:");
            
for(int i=0;i<packet.data.length;i++){                 
                  System.out.print(Byte.toString(packet.data[i]));}  
        System.out.println(); 
        System.out.println();
    }    
    
public static void main(String[] args) throws Exception
    {
        
//返回一个网络设备列表
           NetworkInterface[] devices = JpcapCaptor.getDeviceList();
        
//打开连接设备实例1,提取每次数据包中前2000字节,设置网卡为混杂模式,最后指定超时时间为20
        JpcapCaptor jpcap = JpcapCaptor.openDevice( devices[1], 2000true20);
        
//指定捕获一个数据包,如果设为-1,则为无限循环地捕获,调用抽象方法void receive(Packet packet)
        jpcap.loopPacket(-1new IP());
    }
}


根据分析,程序在(IPPacket)packet出错,错误提示信息大致为:

#
# An unexpected 
error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc
=0x6d75c5cc, pid=2320, tid=1692
#
# Java VM: Java HotSpot(TM) Client VM (
1.5.0_08-b03 mixed mode, sharing)
# Problematic frame:
# V [jvm.dll
+0x9c5cc]
#
# An 
error report file with more information is saved as hs_err_pid2320.log
#
If you would like to submit a bug report, please visit:
# http:
//java.sun.com/webapps/bugreport/crash.jsp
#

    很明显,出错的原因肯定是我们的packet不能转换成IPPacket,也就是说,我们捕捉到的数据包不是IPPacket。

    解决这个问题的最简单的方法,就是把处理packet的程序放到try和catch中,那么,一旦程序在IPPacket处发生奔溃,那就说明程序捕获的不是IP数据报,那就不会再显示出来,当然,在catch块中,你也可以进行其它的操作。

    修改receivePacket函数中的程序如下:

    public void receivePacket(Packet packet)
    {
        
try
        {
            System.out.println(
"捕获一个IP数据报");
            System.out.println();
            System.out.println(
"捕获时间为:"+new Timestamp((packet.sec * 1000+ (packet.usec / 1000))  );
            System.out.println();
            System.out.println(
"IP头长度为:"+packet.header.length);
            System.out.println(); 
            System.out.println(
"目的IP地址为:"+((IPPacket)packet).dst_ip.toString());
            System.out.println(); 
            System.out.println(
"数据内容为:");
                
for(int i=0;i<packet.data.length;i++){                 
                      System.out.print(Byte.toString(packet.data[i]));}  
            System.out.println(); 
            System.out.println();
        }
        
catch( Exception e )
        {
            
        }
    }


    出现这个错误的原因,我觉得是因为学校的机房中了病毒的缘故,那些病毒会发送很多不规则的数据包,从而导致了packet和IPPacket之间的强制转换不成功,从而导致程序奔溃。同时,我们机房中还是用了ARP协议,所以,在网络中,也有ARP的数据包。当我们想将packet强制转换成ARP的包,也是不行的。

    所以,当你出现了以上问题,请你检查一下你的程序里面是否存在着包之间的强制类型转换,并且,一定要把强制类型转换的语句放到try...catch语句块中进行处理。


    最后,附上我写的程序,供大家学习和下载








    特别注意:
    1:JCCFrame.java是主程序
    2:在运行程序前,请依次安装WinPcap3.0和JpCap0.6。我特别推荐安装JpCap0.6而不是0.7,因为0.6的安装包做的比较好,一次安装,全部到位,如果你用0.7,那么你还要为JpCap.jar进行其它配置,很容易出错。
    3:在安装JpCap0.6时,请选中JpCap0.6 for JDK。


下载地址:
http://www.cnitblog.com/Files/CoffeeCat/JCCFrame.rar





CoffeeCat
2007年7月13日




posted @ 2007-07-13 17:36 CoffeeCat 阅读(1588) | 评论 (0)编辑 收藏

公告

我的个人主页正式上线,地址:http://www.CoffeeCat.net.cn
那里的IT博文板块将和这里同步更新

posted @ 2007-07-06 09:11 CoffeeCat 阅读(116) | 评论 (0)编辑 收藏

有些编码设计者喜欢画蛇添足

今天,看到一张很特殊的JPEG文件,如下图

http://www.cnitblog.com/images/cnitblog_com/coffeecat/20060817160921_hI0egShrTUiz.jpg


将这张图片放到一个文件夹中,然后查看缩略图,竟然发现,缩略图和原图不是一样的。

我再次用windows picture and fax viewer打开这个图片的时候,显示正在下载...然后显示出原图。

我的第一反应告诉我,我有可能中病毒了,因为以前我听说过有种JPEG病毒,但是一直没有见识过,直到这次,我发现JPEG不仅仅是一种编码。。。

为什么JPEG还要带有下载功能呢?让我感到很莫名。就像rm文件,本身是一个媒体文件,竟然带有执行外部应用程序等其他不联系的功能,真让人摸不着头脑,真不晓得设计编码的人是怎么想的,这些用不着的功能不仅没为我们提供任何方便,反而增加了文件的后门,削弱了系统的安全性。

CoffeeCat
2007-07-04

posted @ 2007-07-04 04:21 CoffeeCat 阅读(144) | 评论 (0)编辑 收藏

移除 Windows Genuine Advantage Notification (KB905474) 的最简方法

   今天开电脑,突然发现我的XP跳出来一个提示:you may be a victim of software counterfeiting。我意识到我昨天安装的Windows更新中,有1个是正版验证程序。这下让我傻掉,不仅在系统启动的登陆窗口下会出现这种提示,而且在任务栏旁边,也会时常跳出气球提示,虽然现在只有提示出现,可我不知道用一阵子以后系统会出现什么状况,晕阿。


   当务之急,当然是卸载咯。

   按照常规的方法,我打开控制面板,添加删除程序,然后点击显示更新,这样就能把更新显示出来了。在N多更新中,我找到了Windows Genuine Advange Notification这一项,不过让我傻眼,他说:This update can't be removed.

    那怎么办呢?网上查。网上的解决方法是下载一个破解补丁,然后到安全模式下怎么怎么的。。。我觉得太烦了,所以没有尝试。


最简单的解决方法如下:

于是我想到了windows自带的系统恢复,尝试了一下,效果超好,已经完全恢复到我原先的系统了,而且操作简单。

1:开始-->程序-->附件-->系统工具-->系统恢复
2:然后找到一个还原点(也就是你要回到几号),当然,这个日期必须早于你安装这个更新的日期,找到以后点下一步,再确定,系统会重启,重启以后就好了。

Tips:

    当你恢复完成以后,等于你就回到了安装这个更新以前的状态,所以,自动更新还会提示你安装这个更新,这次,你千万不要再安装啦!

    方法:

    1:点开自动更新,发现有两个选项,我们选自定义安装
    2:然后找到里面的 KB905474 这个更新,把前面的勾去掉,点击取消左边的那个按钮
    3:弹出的对话框中,勾选“不要再提示我安装这些更新”,然后点确定


希望本文对你有所帮助!


CoffeeCat
2007-06-30

posted @ 2007-06-30 11:29 CoffeeCat 阅读(4300) | 评论 (2)编辑 收藏

让Office2003兼容Office2007

Office2007默认的保存类型是docx,这种文档类型不兼容Office2003及以前版本,致使很多用户在2007上编辑的文件,在2003上不能打开。

这里提供两种有效的方法

1:将docx文件转换成doc文件,这是一个在线的转换工具,只需要选择您要转换的文件,再输入电子邮件地址,系统将会将转换好的文件发送到您的邮箱。不过由于系统的负担可能太大,转换出来的文件好像不能即时收到,要过段时间。

地址:
http://docx-converter.com



2:安装一个微软提供的插件,就可以让Office2003兼容Office2007了。

软件下载地址:

点击下载


CoffeeCat
2007-06-13

posted @ 2007-06-13 18:14 CoffeeCat 阅读(1918) | 评论 (0)编辑 收藏

软件不能上网的一个解决方法

    最近,我使用FlashFXP老是遇到上传不了,几字节的小文件有时还可以传上去,但大一点的就不行了。其先,我还以为是我的ISP关闭了FTP服务,或者是我的路由器坏了,不过今天终于发现了原因,原来是Windows自带的防火墙的问题...

    今天用FlashFXP和原先一样,速度像蜗牛,不过,突然,系统弹出来一个提示框,问我是否要阻止FlashFXP连接互联网,顿时,我茅塞顿开,原来,这就是困扰我多时的问题。在系统没有弹出这个提示框的时候,软件会一直被防火墙封锁,所以会连不上。

    进入控制面板,里面有Windows防火墙这一项,打开它,并选择中间那个选项卡,在列表中是允许访问网络的程序,只要把不能上网的软件添加进去,就可以了。

    不过,经过了上述经历,我终于发现,Windows防火墙其实防不住火,否则,我的几字节的小文件怎么能突破防火墙,顺利上传上去呢?


posted @ 2007-06-12 17:44 CoffeeCat 阅读(452) | 评论 (0)编辑 收藏

解决Firefox中designMode的问题


    我这两天在研究一些Javascript代码,正好对能编辑的iframe很感兴趣,然后就自己写了个可编辑的iframe,可在IE中能运行出来,而在FireFox中却始终无法成功,让我很困惑。
    我在百度上搜索了好一阵子,始终没有找到正确的答案,最后,我还是通过Google在Mozilla的官网找到了答案。其实解决方法很简单,在此和大家分享一下。


我一开始的核心代码是这样的

<html>
<head>
</head>
<body>
    
<iframe id="myiframe" style="width:750px; height:400px; border:1;"></iframe>
</body>

<script language="javascript">
<!--
    document.getElementById(
"myiframe").contentWindow.document.designMode="on";
-->
</script>

</html>

这段代码在IE中完全没有问题,而在FireFox中全无反应。
还要注意,<script>段一定要写在<iframe>的下面,否则将会出现myiframe对象无定义的错误。



经过修改的代码

<html>
<head>
</head>
<script language="javascript">
<!--
function start()
{
    document.getElementById("myiframe").contentWindow.document.designMode="on";
}
-->
</script>

<body onLoad="start()">
    
<iframe id="myiframe" style="width:750px; height:400px; border:1;"></iframe>
</body>
</html>


very easy,but it's the sollution.



CoffeeCat
2007-04-26

posted @ 2007-04-26 20:12 CoffeeCat 阅读(1817) | 评论 (2)编辑 收藏

eWebEditor2.8(UTF-8编码)版本下载

    这几天我在尝试使用UTF-8编码做网站,又恰好使用了eWebEditor,而eWebEditor使用的是GB2312编码,这就造成了我的网站编码不统一,最终导致了乱码的产生。

    为了解决这个问题,我将GB2312的eWebEditor的转换成了UTF-8编码,现在网站正常运行了。同时,我也将eWebEditor2.8(UTF-8编码)的版本共享给大家,方便大家在UTF-8编码网站中使用eWebEditor。

    下载地址:http://www.cnitblog.com/Files/CoffeeCat/eWebEditor2.8(UTF-8).rar


注:此版本在某些环境下会出现与数据库相关的运行错误,可能是数据库环境的关系吧。由于发布的时间已经很久了,而且eWebEditor已经出到v6.0了,所以我不打算调试了。需要下载的朋友可以尝试运行一下,如果出错了,也不要见怪。在此我强烈鄙视一下在回复中骂孙子骂老子的人,一点都不懂得感恩。这些回复我已删除。



CoffeeCat

2007-04-23

posted @ 2007-04-23 21:21 CoffeeCat 阅读(2092) | 评论 (14)编辑 收藏

仅列出标题
共9页: 1 2 3 4 5 6 7 8 9 
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

公告

常用链接

留言簿(203)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜