libcap抓包 中断 进程通信心

1: 网卡自动完成MAC地址匹配(硬实现),非混杂模式下,若MAC匹配,则发生中断。

     1.1: 可以控制硬件变成混杂模式。使每个包都发生中断。 (包进入网卡缓存也是硬实现)。  硬件的行为是可控的。

     1.2: 网卡驱动向CPU注册了中断。

     1.3: 抓包程序需要向网卡驱动注册,有发送到或接受的包就发一份给packet filter.其缓存下来.

     1.4: 网卡驱动将会检查包头,主动将包传递给协议handler. 协议应该是线程。 猜测: 线程,进程的对外接口(windows中是句柄,handle)都在PCB(程序控制块)中登记了。 其他人有事,只要到PCB查询办事接口就行。

     1.5:pcap_t * pcap_open_live(const char * device, int snaplen, int promisc, int to_ms, char * errbuf). 返回网络接口,实质是返回了packet filter的句柄,获取数据包需要使用这个句柄(类似政府地址),去查询有没有数据包获得。所以这里应该是创建了一个线程。 (猜测)



2. 几种不同实体间的通信方式:

    2.1:  自己有事找政府,那么主动去政府办公厅(PCB)找对应的办事处(接口-句柄)。(有类似TCP和UDP两种方式)

    2.2:  政府有你的事时,(事件发生)

             2.2.1: 你提前向政府打招呼(注册), 有事就叫你干嘛(注册一个函数,系统直接跳转过来)。

             2.2.2:    我主动天天到政府办公厅查询下有没有我的事。

 

3.程序总是躺在内存里,躺在寄存器里。


4. 进程间不能直接通信,需用软中断,即向政府开放办事处注册(SWI,进入内核空间),政府主动来帮你办事(和另外一个进程通信).




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值