2
我正在尋找在用戶空間中立即得到通知的方式,當時已經創建了一個新的套接字。我們現有的實現在/ proc/net/tcp和/ proc/net/udp上進行輪詢讀取,但對於壽命很短的套接字(例如發送數據報和關閉),這不起作用。Linux:如何獲得新創建的套接字的通知?
我正在尋找在用戶空間中立即得到通知的方式,當時已經創建了一個新的套接字。我們現有的實現在/ proc/net/tcp和/ proc/net/udp上進行輪詢讀取,但對於壽命很短的套接字(例如發送數據報和關閉),這不起作用。Linux:如何獲得新創建的套接字的通知?
你可以嘗試:
socket
或socketcall
系統調用。如果不使用audit
守護程序,則需要編寫一些netlink代碼。如果你想與試圖訪問審計系統的其他用戶空間共存,你需要爲其多播netlink套接字使用3.15內核。strace
或ltrace
以遞歸方式進行系統調用或庫呼叫跟蹤,如果您不介意hackiness,raciness和overhead。function
進行跟蹤,並限制跟蹤到套接字系統調用或其委託的類型特定的初始化函數的函數。
你真的想做什麼。我懷疑如果你真的得到了*每個*新套接字的通知,你都會被埋沒在噪音中。 Linux使用套接字*很多* ... – twalberg
你的意思是爲特定的系列和類型創建套接字對象('struct socket')嗎?或者你的意思是建立連接? – Kaz