阅读:4208回复:12
我想在网卡往外发包时,先截获包然后修改mac地址,用ndis能做到吗?
如题
我想在网卡往外发包时,先截获包然后修改mac地址,用ndis能做到吗?用小端口还是中间层或者其他的解决办法? |
|
沙发#
发布于:2007-07-02 23:20
能
如果想截网络层发到网卡的包,用中间层 如果想截网卡发的包,那么要crack别人的网卡驱动。象抓802.11的抓包软件就是这样的,因为用中间层的话只能抓到802.3的包,看不到802.11的包 |
|
板凳#
发布于:2007-07-03 00:13
想问大虾一下,为什么不能看到802.11的包,无线网卡和有线网卡对于ndis区别很大吗?
|
|
地板#
发布于:2007-07-03 11:46
就是说,用中间层截获网络层发往网卡的包后,填上自己想要的MAC再经网卡发出后,MAC会被改回网卡自己的MAC吗.
例如: 网卡的MAC为A,我截获到包后我把MAC填为B,然后经网卡发出.我要问的是,这个数据包的MAC回被改回到A吗?如果会,我有什么办法让他不被改回A? |
|
地下室#
发布于:2007-07-03 12:19
不会修改回去!
|
|
5楼#
发布于:2007-07-03 13:15
zhaock, 先行谢过啦.
我实验一把先,有问题再来请教. 对了,我想用passthru来做,我觉得改一下他的MtSendPackages()就可以了,您觉得呢? |
|
6楼#
发布于:2007-07-03 14:09
没问题
|
|
7楼#
发布于:2007-07-03 15:37
再问一下,
小端口驱动是否主要是偏向于控制网卡的,象什么中断之类的? 我如果要做自己的链路层协议还是应该用中间层来写? 比如:ARP或PPP协议应该用中间层还是小端口? WINDOWS的NDISWAN.SYS应该是PPP协议的驱动吧,他是用中间层作的还是小端口作的? 多谢了! |
|
8楼#
发布于:2007-07-03 17:47
ZHAOCK,请不吝赐教. 指点指点我.我现在对NDIS的层次结构还是比较模糊,
|
|
9楼#
发布于:2007-07-04 09:42
1.小端口驱动主要控制网卡.你要做协议相关的,用imd,或者protocol有的时候也可以
2.arp,是在tcpip.sys中实现的.属于协议层驱动 3.ndiswan.sys是imd驱动,实现的ppp协议. |
|
10楼#
发布于:2007-07-05 01:13
...呜。。。有必要吗?MiniPort...改MAC
|
|
|
11楼#
发布于:2007-07-12 19:32
我用PASSTHRU中的MPSendPackets总是抓不到tcp包。
我拷贝包描述符的所有缓冲区中的内容,通过DebugPrint显示长度。 然后以mac+ip head+tcp/udp head的格式解析,但tcp/udp head描述的数据长度总是大于通过NdisQueryBufferSafe()拷贝报缓冲数据的总长度? |
|
12楼#
发布于:2007-07-12 22:41
不好意思,不是抓不到。而是忘了htons()了。嘻嘻。
|
|