1. 無法指定具體網絡卡介面
1) 從核心看,socket(pf_packet,..,..)函式不提供對網絡卡(eth0/eth1)介面的篩選,但是可以對具體l3層
協議進行篩選列如socket(pf_packet,...,eth_p_all) 抓所有l2層ether packet,
而socket(pf_packet,...,eth_p_ip)則只抓取ip協議的包
2) 從libpcap庫看,libpcap採用了乙個變通的方法: 先抓取所有網絡卡介面上的ether packet,
通過ioctl將介面名(列如eth0)換算成網絡卡id號,再從抓取的包附帶的id號來判斷此包是否為所對應的
網絡卡介面, 不是就在使用者層丟掉。
(socket(pf_packet,..,..)-->ioctl(..,siocgifindex,...)-->recvfrom-->判斷)
2.無法真正抓取到包
這裡 無論是socket(pf_packet)介面還是libpcap庫所抓取的都是包的複製體,即此包仍然會發給正常的
網路棧處理。從核心網路棧**: netif_receive_skb函式可以看出,packet協議和ip等協議處理函式都是
在乙個迴圈內被呼叫,相互之間沒有優先順序
雖然可以通過netfilter的介面達到實際抓包效果,但此介面已經在l3層了
給定兩個已排序的表l1和l2 歸併排序簡介
3.參考文獻 最近在做題的時候接觸到求逆序數的這一類題目,比如51nod 2134 逆序對個數1000,我參考了網上的一些題解,發現大家普遍用歸併排序來解決這一類問題,於是我想要學習一下歸併排序的具體實現。我從 演算法學習與應用從入門到精通 1 中摘錄了歸併排序這一部分的內容,形成了這篇筆記。在使用...
100層摔兩個雞蛋的問題
這是一道動態規劃的題目。參考兩個鏈結,可以理解解法。1.2.在 1 中,把100層摔雞蛋問題,化成動態規劃理解 f a,b 表示現在有a個雞蛋,可以允許測試b次,那麼可以被測出來的層數是多少。譬如,f a,b 100。我不知道哪一層是臨界層,也不知道怎麼分段去測,但是我肯定如果有100層,我通過a個...
兩個關於Struts2的問題
又好久沒有寫點東西了,這兩天帶實驗,有幾個問題彙總一下吧 1 關於struts2中filterdispatcher過濾的問題,官方提供的過濾方式是 其實預設過濾的是 action,這個大家可以在struts2核心類庫中的default.properties struts2 core 2.0.11.j...