Есть несколько вопросов касающихся работы snmp:
1) Как узнать количество портов? *если можно то конкретная команда
2) Если рассматривать pdu snmp, сколько весит каждая его часть (error status, id request и тд)
3) Если опять же рассматривать структуру snmp, то там есть последний пункт “связанные значения” – что в нем располагается?
Спасибо за внимание!
-
Вопрос заданболее трёх лет назад
-
1317 просмотров
- Есть такая команда в линуксе:
[root@host~]# snmpwalk -v 2c -c public 172.19.250.32 .1.3.6.1.2.1.2.1.0 IF-MIB::ifNumber.0 = INTEGER: 50 [root@host~]# snmpwalk -v 2c -c public 172.19.250.32 IF-MIB::ifNumber IF-MIB::ifNumber.0 = INTEGER: 50
по ключам:
- -v – версия snmp, в нашем случае 2c;
- -c – это community, в нашем случае public;
- дальше идёт хост, к которому мы обращаемся;
- .1.3.6.1.2.1.2.1.0 – это oid, который отвечает за количество портов на устройстве, этот oid также можно поменять на IF-MIB::ifNumber, как видно в примере – это одно и то же.
- Советую поискать дампы трафика и открыть его в wireshark, вот тут например.
- Может содержать одну или более переменную (для запросов Get – это только имя переменных, для Set – имя и устанавливаемое значение, для Response – имя и запрошенное значение).
Для понимания работы snmp рекомендую прочитать это
UPD:
Ладно, отвечу и про размер
PDU Type – 4 байта
Request ID – 4 байта
Error Status – 4 байта
Error Index – 4 байта
Variable Bindings – не определено
Пригласить эксперта
-
Показать ещё
Загружается…
21 мая 2023, в 06:28
1500 руб./за проект
21 мая 2023, в 03:18
10000 руб./за проект
21 мая 2023, в 01:51
500 руб./за проект
Минуточку внимания
- Remove From My Forums
-
Question
-
Hello friends,
Can anyone say how to find the number of ports and the name of ports such as COM1, COM2 etc in our PC using a C++ or VC++ program. I searched it everywhere, but i couldnt find a proper source code.
regards,
siva.
Answers
-
This is the approach I prefer:
Code Snippet
// get a pointer to a combo
CComboBox* pCombo = (CComboBox*)GetDlgItem(IDC_COMBO_PORT);
// try ports between 1 and 128
for(int i=1; i<=128; i++)
{
CString strPort;
strPort.Format(_T(“COM%d”),i);DWORD dwSize = 0;
// allocate a minimum buffer
LPCOMMCONFIG lpCC = (LPCOMMCONFIG) new BYTE[1];// call used only to get the actual required size
BOOL ret = GetDefaultCommConfig(strPort, lpCC, &dwSize);
delete [] lpCC;// allocate the necessary buffer length
lpCC = (LPCOMMCONFIG) new BYTE[dwSize];
ret = GetDefaultCommConfig(strPort, lpCC, &dwSize);// if call was successfull add the port
if(ret)
{
pCombo->AddString(strPort);
}delete [] lpCC;
}
ДЛИН КАБЕЛЬНЫХ
СИСТЕМ
Определим
количество соединительных линий с сети
ТфОП следующим образом:
;
Магистральный
коммутатор нам потребуется один.
Определим требуемое количество портов
магистрального коммутатора следующим
образом:
Кмагком=1
Nпмагком=NGbкобщ+NSRV+NПСIPT,
где NПСIPT– число портов для подсистемыIP-телефонии,
в нашем случае достаточноNПСIPT=1,
NGbкобщберем из таблицы 5.9:
Nпмагком=8+4+1=13
Количество
коммутаторов уровня отделов будет равно
количеству сегментов сети (или количеству
зданий NЗД):
Ккомотд=NЗД;
Ккомотд=4.
Число портов
одного коммутатора уровня отдела
Nпкомотдопределяется
исходя из общего количества участков
сети на всех этажах в зданииi(табл.5.5.). Если общее количество участков
в здании меньше или равно 24, беремNпкомотд=24, если
количество участков больше 24, беремNпкомотд=48. Таким
образом, все коммутаторы уровня отдела
будут иметь 24 порта.
Количество
IP-телефонов и рабочих
станций было определено в предыдущем
разделе, берем эти значения оттуда:
NIPTA=90,
NWS=380.
Количество
медиаконверторов (трансиверов), если
они используются, принимаем равным
общему количеству гигабитных каналов
от всех сегментов сети плюс один для
маршрутизатора (если трансивер в этом
случае необходим – например, если на
маршрутизаторе нет оптического порта
для подключения канала в Интернет).
Причем в это количество уже включен
один медиаконвертор на запас, так как
МК устанавливается в одном из зданий
рядом с коммутатором уровня отдела, и
в оптике нет необходимости:
Кмконв=(NGbкобщ-NUTPk)+[1],
где […] –
указывают на необязательность параметра,
NUTPk– количество гигабитных каналов,
организованных на витой паре. ВеличинаNUTPkвыбирается самостоятельно, исходя из
расположения МК, обычно равна единице
или двум.
Кмконв=(8-2)+1=7
Количество
маршрутизаторов, управляющего и шлюзового
оборудования подсистемы IP-телефонии,
модемов, комплектов организацииIR-канала
выбираем равным единице каждого вида
(возможно увеличение количества устройств
какого-либо вида, если требуется):
КROUT=1,
КПСIPT=1,
[Кмод=1],
[КIRком=1].
Количество
сетевых карт для рабочих станций (10/100
Мбит/с) принимаем равным количеству
рабочих станций плюс примерно 1% на
запас, плюс одна серверная для подключения
маршрутизатора:
Ксеткарт=NWS+int(0,01NWS)+1,
где int()
– операция округления до целого числа.
Ксеткарт=380+4+1=385.
Количество
гигабитных сетевых карт для серверов
принимаем равным количеству серверов
плюс одна на запас:
Ксервсетк=NSRV+1;
Ксервсетк=4+1=5.
Количество
концентраторов определяем как сумму
числа участков сети на всех этажах всех
зданий (табл.5.5.) плюс один на запас:
+1,
где Nучобщздi– берется из табл. 5.5., столбец «Общее
количество участков» для каждого здания,
строка «Всего».
+1=75.
Общая длина
оптического кабеля для связи сегментов
сети в зданиях с магистральным коммутатором
определяется следующим образом (учитываем
запас – примерно 1%):
LОК=(NGbкобщ-NUTPk)LЗД+int(0,01((NGbкобщ-NUTPk)LЗД)),
метров.
LОК=(8-1)600+int(0,01((8-1)600))=4242,
метров.
Длина кабеля
UTP(витая пара) определяется
исходя из размещения точек подключения,
размещения коммутаторов и концентраторов,
высоты и длины каждого этажа, планировки
этажей зданий. В нашем случае большинство
необходимых параметров неизвестно,
поэтому рассчитывать длину кабеляUTPне будем.
Соседние файлы в папке Шерстнева О Г
- #
- #
- #
- #
- #
- #
ExpVadim писал(а):
Всем привет.
Даже не мог предположить, что такой простой вопрос поставит меня в тупик.
Как по SNMP определить сколько у коммутатора портов? Не интерфейсов! Желательно, сделать это одной командой.
Так вот. ifNumber (1.3.6.1.2.1.2.1) возвращает нам количество интерфейсов. Причем, на разных моделях, в этот список попадает куча всего разного. Возникает резонное желание – проверить тип каждого интерфейса (ifType(1.3.6.1.2.1.2.2.1.3)). Заметьте, это уже вторая команда. Проверяем. Получаем опять непонятки. От DGS-1100-06 получаем, что у него 10 интерфейсов. Первые 6 – “D-Link DGS-1100-06/ME Rev.A1/1.05.B018 Port …”, следующий – “L2VLAN Interface”, все остальные – ошибочный запрос. Как так? Он же сам мне говорит, что у него 10 интерфейсов, а проверить тип можно только у первых 7-ми. Опрашиваю второй, точно такой, же свитч. Там получаю 9 интерфейсов, и опять тип могу проверить только у первых 7. У других типов свитчей картина, с небольшими отличиями, примерно такая же.
Идем дальше. Теперь берем коммутатор с бОльшим количеством портов. Опросить все порты за один запрос не получается (не знаю с чем это связано, возможно с размером буфера SNMP). Это еще плюс одна команда. В коммутаторах с 52-я портами потребуется аж 4 запроса. Тут уже проще будет опрашивать тип каждого порта отдельным запросом.
Так вот. Возвращаюсь к своему вопросу. Ка за один запрос (максимум два) узнать количество портов на устройстве?
Всем спасибо.
Добрый день, можно таким способом:
artem@artem-desktop:~$ snmpwalk -v2c -c public 10.90.90.90 1.3.6.1.2.1.1.1
iso.3.6.1.2.1.1.1.0 = STRING: “DGS-1100-06/ME/A1”
Он выводит модель коммутатора, исходя их этого можно определить сколько у него портов.
Спасибо.
Я не уверен, что именно вы подразумеваете под физическими портами. dmidecode может перечислять соединители,
# dmidecode --type 8
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x0004, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: EXTERNAL MONITOR PORT
External Connector Type: DB-15 female
Port Type: Other
Handle 0x0005, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: BUILT-IN LAN PORT
External Connector Type: RJ-45
Port Type: Network Port
Handle 0x0006, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: USB PORT
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0007, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: USB PORT
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0008, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: USB/eSATA PORT
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0009, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: HEADPHONE JACK
External Connector Type: Mini Jack (headphones)
Port Type: Other
Handle 0x000A, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: HDMI-CONNECTOR
External Connector Type: Other
Port Type: Video Port
Handle 0x000B, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator:
Internal Connector Type: None
External Reference Designator: MICROPHONE JACK
External Connector Type: Other
Port Type: Other
или системные слоты,
# dmidecode --type 9
# dmidecode 2.12
SMBIOS 2.5 present.
Handle 0x000C, DMI type 9, 13 bytes
System Slot Information
Designation: SD CARD
Type: Other
Current Usage: In Use
Length: Other
Characteristics:
3.3 V is provided
Hot-plug devices are supported
Handle 0x000D, DMI type 9, 13 bytes
System Slot Information
Designation: EXPRESS CARD
Type: x1 PCI Express
Current Usage: In Use
Length: Other
ID: 1
Characteristics:
3.3 V is provided
Hot-plug devices are supported
Что еще тебе нужно? Вы можете найти все соответствующие коды на странице sourceforge dmidecode