簡體   English   中英

我可以在不使用system()命令的情況下在C中讀/寫路由表嗎?

[英]can I read/write the routing table in C without using system() command?

我有用C編寫的代碼。我想使用存儲在路由表中的C代碼信息。 可能嗎?

您還可以運行“strace route add ...”以查看route命令如何執行此操作。

在我的系統上,它使用ioctlSIOCADDRT 一點點搜索會顯示一些示例代碼

奇怪的是,我發現的最好的文檔來自IBM的AS400手冊頁

如果您只想閱讀路由表,可以打開並讀取/proc/net/route (再次, strace顯示這是route命令的strace 。)十六進制數是機器端格式的32位IP地址。 嘗試cat /proc/net/route

您可以打開netlink套接字並發送路由更新消息。 一篇關於如何做到這一點的文章

如果只想查詢路由表,請嘗試讀取文件/proc/net/route 它適用於我的系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM