2013-06-10 40 views
5

Tôi đang tìm một cuộc gọi hàm/hệ thống có thể được sử dụng trong C để quản lý các giao diện mạng của máy Linux. Ví dụ: tôi muốn làm ip link set wlan0 down (hoặc lên) hoặc ifconfig wlan0 down, chức năng nào có thể được sử dụng cho nó, ngoài system()?Quản lý giao diện mạng Linux theo mã C

+6

Một điểm khởi đầu tốt có thể được xem xét như thế nào ifconfig chính nó nó - bạn có thể tìm thấy mã nguồn ở đây: http://sourceforge.net/ các dự án/net-tools/ – CmdrMoozy

+2

Ngoài ra, [DBUS NetworkManager API] (http://projects.gnome.org/NetworkManager/developers/api/09/). –

Trả lời

3

Để truy cập vào các chức năng được cung cấp bởi các công cụ iproute2 từ phần mềm, bạn có thể sử dụng Linux rtnetlink API. Để giúp bạn dễ dàng hơn, hãy sử dụng các thư viện như libnl.

Trong trường hợp bạn gặp phải rắc rối, đã có một thẻ gọi netlink

-3

Sử dụng cuộc gọi hệ thống để thực hiện lệnh giống như bạn thực hiện trên dòng lệnh.

#include <stdlib.h> 

int system (const char * command);

man page

+1

Tôi tin rằng @ang nói rõ ràng rằng anh ấy cần một thứ gì đó khác với hệ thống();) – cgledezma

Các vấn đề liên quan