Програмное подключение к упр. свичу?
команду добавить влан с айди таким-то и айпи таким-то...
что для этого нужно? (если мне не изменяеть память команда выглядет вот так: vlan add vlan_name ip_addr ip_mask - хотя это непринципиально главное понять как эти команды вообще выполнять)
Насколько я понимаю, надо создать телнет подключение к свичу с определенным логином и паролем, далее надо как-то передавать ему параметры? Вот со всем вот этим у меня возникают проблемы...если у кого-нибудь есть идеи, подскажите.
ЗЫ: M.Switch - HP 2810, 2626.
ЗЫЫ: Спасибо.
команду добавить влан с айди таким-то и айпи таким-то...
что для этого нужно? (если мне не изменяеть память команда выглядет вот так: vlan add vlan_name ip_addr ip_mask - хотя это непринципиально главное понять как эти команды вообще выполнять)
Насколько я понимаю, надо создать телнет подключение к свичу с определенным логином и паролем, далее надо как-то передавать ему параметры? Вот со всем вот этим у меня возникают проблемы...если у кого-нибудь есть идеи, подскажите.
ЗЫ: M.Switch - HP 2810, 2626.
ЗЫЫ: Спасибо.
Создаешь сокет и шлешь в него необходимые команды. Для этого можешь использовать как компонент из билдера, так и обычный виндовый.
Можно юзать компоненту типа IdTelnet - хотя имхо лучше использовать стандартное АПИ.
И еще вопрос образовался: а в линукс так можно команды слать? ну например, там, из под рута нужно добавить в файл какие-нибудь данные или создать файл с данными, или выполниь команду (по типу IPTABLES -A ...)
SOCKET sock;
sock = socket(AF_INET,SOCK_STREAM,0);
sockaddr_in saServer;
saServer.sin_family = AF_INET;
saServer.sin_addr.s_addr = inet_addr("192.168.0.1");
saServer.sin_port = htons(23);
if(connect(sock,(SOCKADDR*)&saServer,sizeof(saServer)) == SOCKET_ERROR)
{
printf("Error");
}
const int size=256;
char buf[size];
int byte=0;
while((byte=recv(sock,buf,size,0))>0)
{
char *receive = new char[byte];
memcpy(receive,buf,byte);
RichEdit1->Lines->Add(receive);
// if(receive == "login:")
send(sock,"n\r\n",sizeof("n\r\n"),0);
if(receive[byte]=='.')
send(sock," ",sizeof(" "),0);
ZeroMemory(buf,size);
delete[] receive;
}
И еще вопрос образовался: а в линукс так можно команды слать?
Ну если у тебя получилось подключиться телнетом, значит там обычное TCP соединение. Тоесть создаешь TCP сокет и пишешь/читаешь через него. TCP протокол, как и собственно весь стек TCP/IP - стандартный и никак не завязан на ОС. При этом поддерживается практически всеми сетевыми ОС (темболее если они инет юзают - то там без него никак.)
Так что что в винде что в линуксе, что в других ОС, сокеты создаются аналогично.
Необходимо обрабатывать команды сервера и производить перекодировку получаемых символов
А каким образом обрабатывать команды и перекодировать?
ЗЫ: сорри, но никогда таким не занимался:-(