Skip to content
/ coly Public

Automatically exported from code.google.com/p/coly

Notifications You must be signed in to change notification settings

tokozedg/coly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

WARNING


This is a very old script wich probably doesn't work any more.

Introduction

Coly is a Scapy based python tool, that can form neighbourship to EIGRP routers and inject route.

Requirements

Scapy 2.2.0 and above with EIGRP module.
tcpdump, for listening and filtering EIGRP packets.

Usage Examples

Everything start with defining interface that must be used as a source. EIGRP Autonomous System number is essential to form neighborship. AS could be discover by "discover" command or manually set with "asn". "discover" is recommended step, as far as it will listen all hellos, collects all active peers and AS number automatically.

EIGRP neighbourship is formed with Hello packets sent to multicast address: 224.0.0.10 periodically. The interval by default is 5 sec. After receiving Hello packet from a new router, all active routers will add the sender to its neighbor list, send an Init Update packet and waits for ACK Update response. All these tasks are done with "hi" command.

SuSe:~/coly # ./coly.py 
EIGRP route injector, v0.1 Source: http://code.google.com/p/coly/
suse(router-config)#interface tap0
Interface set to tap0, IP: 10.0.0.1
suse(router-config)#discover
Discovering Peers and AS
Peer found: 10.0.0.3 AS: 33
AS set to 33
Peer found: 10.0.0.2 AS: 33

suse(router-config)#hi
Hello thread started
suse(router-config)#
R1#
*Mar 1 02:04:08.771: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 33: Neighbor 10.0.0.1 (FastEthernet0/0) is up: new adjacency
R1#

At this point, neighbourship is successfully formed, and we can participate into EIGRP Process.


R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
R1#


suse(router-config)#inject 192.168.1.0/24
Sending route to 10.0.0.3
Sending route to 10.0.0.2
suse(router-config)#


R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 1 subnets
C 10.0.0.0 is directly connected, FastEthernet0/0
D 192.168.1.0/24 [90/156160] via 10.0.0.1, 00:00:17, FastEthernet0/0
R1#


With "inject" command, EIGRP Internal Route Update packet is sent to all active peers directly. So one thing that you have to be sure is that, all the peers are correctly detected. If you define ASN statically or if it's automatically discovered, with both ways, peer IP addresses are saved and updates are sent individually. To check active EIGRP peers use "peers" command.


suse(router-config)#peers
10.0.0.3
10.0.0.2
suse(router-config)#

About

Automatically exported from code.google.com/p/coly

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages