我是网络方面的新手,希望请教各位一个问题:如何抓取机内的数据包?
就是说我的数据库服务器在自己的机器上,当我的数据库应用程序向我的数据库服务器发送SQL请求的时候,如果将这些数据包捕获?
我是新手,不懂。好像说类似的数据包不会经过网卡,而是通过什么回环接口之类的!
那如何捕获回环接口上面的数据包呢?
希望高手们赐教……

解决方案 »

  1.   

    不经过网卡的数据包是将连接地址的IP设为localhost或127.0.0.1的时候,走的是回路地址。
    如果改为局域网私有地址或广域网IP的时候,肯定会经过网卡的。
    对于HTTP数据请求,有一种专门针对它的软件叫HttpAnalyzer,做BS结构的程序用它时效果相当明显。
    如果是对于其他协议的数据包,则可以借助一款叫Sniffer的软件,通过设置过滤器条件(包括各种各样的网络协议的选择,IP过滤设置等),截取到相应的数据包都是可以的。比如你用的是oracle数据库,开放的是1521的TCP端口。你就可以进行针对性的进行过滤条件的设置,尽量将捕获到的数据量减少,以帮助自己能够较为方便快速的找到自己想要的数据。即使如此,很多软件在通信方面都做了一定加密,你既然截取到正确的数据包,但不知解密算法,也是无济于事的。PS: Sniffer 软件在1000M网卡下无法正常工作。 它仅支持 10/100M的网卡。不过也有类似的其他软件,但本人只用过 Sniffer。