标签: cisco

以编程方式管理思科; Telnet vs SNMP?

我最近接触过一位网络工程师,他希望将他的小型网络管理职责卸载到初级技术支持人员.需要管理的具体位置在其单站点属性上作为租户的ISP,因此每天进行大量小的调整.

我认为为他写一个winform应用程序来管理现场的32个Cisco设备会很有帮助.我想最初提供的功能可以修改访问控制列表,端口VLAN分配和每个VLAN的带宽限制......在列表中添加更多,因为它被认为是有价值的.

我最初的想法是模拟与网络设备的telnet会话 ; 利用我的网络工程师熟悉的命令行/ IOS交互.我自己需要最少的时间来学习Cisco IOS惯例.

虽然在搜索解决方案时,似乎大多数人都喜欢SNMP. 那,或者,他们的具体情况将他们推向了SNMP的方向.

我想知道我是否忽略了SNMP的明显好处. 我应该使用SNMP吗?为什么或者为什么不?

network-programming cisco snmp telnet

7
推荐指数
1
解决办法
1万
查看次数

如何使用cBarge(Barge)与JTApi创建会议

我们有2个cisco手机:一个用于呼叫管理员,另一个用于他的主管.

当经理回答并将主管的电话置于静音状态时,我们需要创建一个会议.我们正在尝试使用JTApi实现它:等待事件TermConnActiveEv,然后尝试创建会议.

这是代码示例.

if (callEv instanceof TermConnActiveEv) {
CiscoCall thisCall = (CiscoCall) callEv.getCall();
TerminalConnection connection = ((TermConnActiveEv) callEv).getTerminalConnection();

if (thisCall.getState() != Call.ACTIVE)
{
    System.out.println("call is not active");
    return;
}
try {
    CiscoCall newCall = (CiscoCall) provider.createCall();
    newCall.consult(connection);
    newCall.conference(thisCall);

    ....
Run Code Online (Sandbox Code Playgroud)

然而,PreConditionException被抛出.我们做错了什么?

java cisco jtapi conference cisco-jtapi

7
推荐指数
1
解决办法
522
查看次数

从主机操作系统访问来宾虚拟PC上的VPN连接

我正在运行我的主机操作系统 - Win 7 x64并运行Virtual PC XP的实例.我在Guest XP VPC操作系统上运行思科ISPec VPN客户端,可以成功连接到我公司的企业网络.

我无法在主机上运行思科IPSec客户端sw,因为它是64位,思科不支持其IPSec客户端产品上的64位,而且我现在没有很多选择转移到思科的SSL VPN客户端(AnyConnect).

XP VPC Guest OS不使用NAT网络适配器,而是使用本机的物理适配器.

当Cisco客户端未在XP VPC客户操作系统上运行时,我可以从客户操作系统ping主机,反之亦然.

几个问题:

  1. 当Cisco客户端运行并连接时,来宾操作系统无法再看到主机.

  2. 当XP VPC guest虚拟机连接到VPN时,我希望能够从主机访问VPN.

对于#2,我尝试了至少一种技术,描述:xenomorph.net/use-cisco-vpn-under-vista-x64/

此技术在Cisco伪网络适配器上打开ICS.

我无法让这个工作.但是,我可能错误地遵循了说明.

我也看过:http://www.pringle.net.nz/blog/PermaLink,guid,12ee0de7-f998-4084-8b06-537b3dbd5d9a.aspx

...涉及在主机和客户操作系统之间使用Loopback适配器和桥接.我没有遵循这个,因为说明并不完全清楚.

最后,我在网上看到了有关Open64N的x64版本的参考资料,但我对于朝这个方向犹豫不决.

任何人都可以指导我做正确的方向吗?

windows vpn 64-bit cisco virtual-pc

6
推荐指数
1
解决办法
4266
查看次数

SNMP:ifAdminStatus vs ifOperStatus

我对ifAdminStatus和ifOperStatus有疑问.以下是使用ifAdminStatus的网络接口状态的输出:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1.7ifAdminStatus.1 = INTEGER: up(1)

ifAdminStatus.12 = INTEGER: down(2)
ifAdminStatus.13 = INTEGER: up(1)
ifAdminStatus.14 = INTEGER: up(1)
Run Code Online (Sandbox Code Playgroud)

以下是使用ifOperStatus的相同列表:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1.8

ifOperStatus.12 = INTEGER: down(2)
ifOperStatus.13 = INTEGER: down(2)
ifOperStatus.14 = INTEGER: down(2)
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,ifAdminStatus报告#13和#14已启动但ifOperStatus报告它们都已关闭.我知道#13已启动并通过它传递数据包(这是我的PPPoE Internet连接接口).根据cisco文档" if ifAdminStatus down(2)ifOperStatus应该关闭(2). "这似乎不是这里的情况......

我的问题是 - 为什么报告的状态不同,只使用ifAdminStatus来判断接口是否已启动并运行而不是ifOperStatus是否安全?

谢谢!

这是snmpwalk的附加接口信息:

snmpwalk -Os -c public -v 1 192.168.1.1 1.3.6.1.2.1.2.2.1
[.....]
ifIndex.12 = INTEGER: 12    
ifIndex.13 = INTEGER: 13
ifIndex.14 = INTEGER: 14
[.....]
ifDescr.12 = …
Run Code Online (Sandbox Code Playgroud)

networking cisco snmp

6
推荐指数
1
解决办法
2万
查看次数

pexpect setecho不工作

我试图telnet到Cisco路由器并使用pexpect发出命令.它工作,但sendline()在输出中重复.甚至在使用setecho后使用False.代码是:

'''
Created on Nov 19, 2012

@author: Amit Barik
'''

import pexpect

hostname = 'hostname'
login_cmd = 'telnet ' + hostname + '.net'
username = 'username'
password = 'pwd'
prompt = hostname + '#'

p = pexpect.spawn(login_cmd)
p.setecho(False)
p.logfile = open('Log.log', 'w+')

p.expect('Username:')
print '1',repr(p.before)

p.sendline(username)
p.expect('Password:')
print '2',repr(p.before)

p.sendline(password)
p.expect(prompt)
print '3',repr(p.before)

cmd = 'show clock'
p.sendline(cmd)
p.expect(prompt)
print 'Output for {0}'.format(cmd), repr(p.before)
Run Code Online (Sandbox Code Playgroud)

输出是:

# On Python Console
Output for show clock 'show clock\r\n00:16:40.692 UTC Tue Nov 20 …
Run Code Online (Sandbox Code Playgroud)

python cisco pexpect

6
推荐指数
2
解决办法
6660
查看次数

基于子字符串的PHP双排序数组

我正在为工作建立一个自定义交换机管理器,我目前的问题更美观,但我认为这是一个很好的学习经验.为了清楚起见,我在下面发布了数组:

Array
(
    [1] => FastEthernet0/1
    [10] => FastEthernet0/10
    [11] => FastEthernet0/11
    [12] => FastEthernet0/12
    [13] => FastEthernet0/13
    [14] => FastEthernet0/14
    [15] => FastEthernet0/15
    [16] => FastEthernet0/16
    [17] => FastEthernet0/17
    [18] => FastEthernet0/18
    [19] => FastEthernet0/19
    [2] => FastEthernet0/2
    [20] => FastEthernet0/20
    [21] => FastEthernet0/21
    [22] => FastEthernet0/22
    [23] => FastEthernet0/23
    [24] => FastEthernet0/24
    [3] => FastEthernet0/3
    [4] => FastEthernet0/4
    [5] => FastEthernet0/5
    [6] => FastEthernet0/6
    [7] => FastEthernet0/7
    [8] => FastEthernet0/8
    [9] => FastEthernet0/9
    [25] => Null0
)
Run Code Online (Sandbox Code Playgroud)

在我们更大的交换机上,我使用的 …

php arrays cisco

6
推荐指数
1
解决办法
639
查看次数

如果SNMP计数器的值小于先前的读数,图形工具应该如何表现?

我正在构建一个小型监控解决方案,并希望了解在先前读数大于当前读数的情况下,正确/最佳行为是什么.例如,ifHCOutOctetsSNMP对象计算从Cisco路由器中的接口传输的字节数.如果此计数器重置为0,例如由于路由器重启,图形应用程序应该如何运行?在我的选项中,以下算法是正确的行为:

if [ ! $prev_val ]; then
  # This reading will be used to set the baseline value for "prev_val" variable
  # if "prev_val" does not already exist.
  prev_val="$cur_val"
elif (( prev_val > cur_val )); then
  # Counter value has set to zero.
  # Use the "cur_val" variable.
  echo "$cur_val"
  prev_val="$cur_val"
else
  # In case "cur_val" is higher than or equal to "prev_val",
  # use the "cur_val"-"prev_val"
  echo $(( cur_val - prev_val ))
  prev_val="$cur_val"
fi
Run Code Online (Sandbox Code Playgroud)

我还根据上面的算法制作了一个小例子图:

基于算法的带宽图

基于此构建流量图:

reading …
Run Code Online (Sandbox Code Playgroud)

algorithm bash cisco

6
推荐指数
1
解决办法
216
查看次数

启动新的 Docker 容器时 AnyConnect 断开连接然后重新连接

我使用 AnyConnect 连接到我公司的 VPN(使用 AnyConnect 而不是 openconnect 来允许单点登录工作)。

当我运行不使用网络驱动程序“主机”的 Docker 容器时,我的 VPN 会断开连接然后重新连接。我的 VPN 连接在主机上仍然有效,并且使用网络驱动程序“主机”运行的任何容器仍然可以访问 VPN 资源。

所以一切正常。我想知道到底是什么导致了这种行为,当我知道这一点时,我可以采取什么措施来阻止它。

docker create network -d bridge my_network不会导致断开连接。只有当我使用网络时(并ip link show显示它使用我的网桥作为主设备创建了一个虚拟以太网接口),才会发生断开连接和重新连接。


我在基于 Ubuntu 的发行版上有 docker 和 Cisco AnyConnect(尽管在 OpenSuse 和 Fedora 上也看到过同样的行为)

更新

我今天意识到,在构建容器时,它还会断开并重新连接 Linux Cisco AnyConnect 客户端。

cisco docker

6
推荐指数
1
解决办法
796
查看次数

Cisco Anyconnect:Macbook Pro、M1 pro 芯片上“姿势评估失败:无法加载 CSD 库”

我以前anyconnect-macos-4.8.01090-predeploy-k9.dmg安装过anyconnect,安装后只能运行一次。(然后我会连接我公司的VPN,之前安装后会自动升级到版本4.10.04065,然后连接成功)。

然而,一旦我断开连接,后续的连接总是会失败。

在此输入图像描述

知道如何解决这个问题吗?我的 Mac:MacBook Pro(16 英寸,2021 年),M1 Pro 芯片

cisco apple-m1 anyconnect

6
推荐指数
1
解决办法
1万
查看次数

TAPI和TSAPI之间有什么区别

我有一个C++程序,它使用Microsoft TAPI接口从Cisco Call Manager PBX收集呼叫事件.为了获得思科活动,我从呼叫管理器下载了TSP,然后我的TAPI代码正常运行.

我可以使用Avaya AES服务器执行相同的操作吗?我看到Avaya使用TSAPI而不是TAPI,但我看不出会对我的程序产生什么影响.

cisco tapi avaya

5
推荐指数
2
解决办法
8980
查看次数