看板 LinuxDev 關於我們 聯絡資訊
※ 引述《fasthall (Xen)》之銘言: : 我原本打算用pcap寫的sniffer放在A跑 : 去觀察B想存取對外網路時的封包 : 但是這樣好像抓不到 : 原本打算的做法是抓到之後可以modify封包來源轉丟出去 : (好像還要存起來他實際來源的虛擬IP 但不清楚要存在哪) : 我想B應該不用特地實作只要A跑server程式就好? : 因為外面買的NAT分享器好像都是直接插線就能用 : 想請問我這樣的想法有沒有錯 : 該從哪裡繼續動手......謝謝 如果你只是要實作 NAT, 那就直接在 file linux/net/core/dev.c netif_rx() 和 netif_receive_skb() 內下手最快. 直接用 module 掛個 hook function 在那邊, 進來的封包隨便你凌虐~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.22.92
fasthall:我希望能寫出一個獨立的server程式可以run 12/20 17:42
fasthall:現在問題是gateway都設好了 但是B ping A時抓得到ICMP 12/20 17:43
fasthall:想用B存取網路時A就抓不到 是要抓到後改header沒錯吧? 12/20 17:44
cobrasgo:NAT是一定要改header的,然後記住你改之前的ip/port和目 12/20 22:57
cobrasgo:的地的ip/port,之後再改回來 12/20 22:58
final01:明明就有netfilter可以用 為啥要硬來? 12/21 23:10
fasthall:因為這是要求啊...... 12/21 23:31
兩邊 wireshark 開起來聽封包發生什麼事情了. 另外, 先用 nc (netcat) 去送 udp 封包, nc 可以一筆一筆送 可以很容易看到 packet 狀況. ※ 編輯: rawpacket 來自: 140.113.22.92 (12/22 17:24)
kevinmark:寫一個kernel module並掛起來 12/23 07:27
kevinmark:內容是在hook point 觀察封包,滿足條件就把檔頭改掉 12/23 07:28