Parsing output txt "show ip route" to csv - python-3.6
I need to use python code to parse a text file with the output of the routing table from several routers (I will provide an example of a text file). I want to get a structure in which the title or the first column with the name of the router goes and then the parameters (routing protocol, network, mask, AD, nexthop, time). But with the name of the router I can’t.
This is a text file to parse:
..................THIS IS THE HOST IP ADDRESS...................
192.168.100.1
R1>show ip route
Codes: L - local, 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, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
90.0.0.0/24 is subnetted, 11 subnets
B 90.1.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.2.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.3.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.4.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.5.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.6.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.7.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.8.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.9.0.0 [20/0] via 192.168.100.2, 15:02:50
B 90.10.0.0 [20/0] via 192.168.100.2, 15:02:50
--More-- B 90.11.0.0 [20/0] via 192.168.100.2, 15:02:50
192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.100.0/24 is directly connected, FastEthernet0/0
L 192.168.100.1/32 is directly connected, FastEthernet0/0
R1>
..................THIS IS THE HOST IP ADDRESS...................
192.168.100.2
R2>show ip route
Codes: L - local, 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, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
90.0.0.0/24 is subnetted, 11 subnets
S 90.1.0.0 is directly connected, Null0
S 90.2.0.0 is directly connected, Null0
S 90.3.0.0 is directly connected, Null0
S 90.4.0.0 is directly connected, Null0
S 90.5.0.0 is directly connected, Null0
S 90.6.0.0 is directly connected, Null0
S 90.7.0.0 is directly connected, Null0
S 90.8.0.0 is directly connected, Null0
S 90.9.0.0 is directly connected, Null0
S 90.10.0.0 is directly connected, Null0
--More-- S 90.11.0.0 is directly connected, Null0
192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.100.0/24 is directly connected, FastEthernet0/0
L 192.168.100.2/32 is directly connected, FastEthernet0/0
R2>
..................THIS IS THE HOST IP ADDRESS...................
192.168.100.3
R3>show ip route
Codes: L - local, 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, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.100.0/24 is directly connected, FastEthernet0/0
L 192.168.100.3/32 is directly connected, FastEthernet0/0
R3>
This is the result in the CSV that I get:
protocol,network,mask,AD,nextHop,interface,time
B,90.1.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.2.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.3.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.4.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.5.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.6.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.7.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.8.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.9.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.10.0.0,,[20/0],192.168.100.2,,02:47:13
B,90.11.0.0,,[20/0],192.168.100.2,,02:47:13
C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
L,192.168.100.1,32,,is directly connected,FastEthernet0/0,
S,90.1.0.0,,,is directly connected,Null0,
S,90.2.0.0,,,is directly connected,Null0,
S,90.3.0.0,,,is directly connected,Null0,
S,90.4.0.0,,,is directly connected,Null0,
S,90.5.0.0,,,is directly connected,Null0,
S,90.6.0.0,,,is directly connected,Null0,
S,90.7.0.0,,,is directly connected,Null0,
S,90.8.0.0,,,is directly connected,Null0,
S,90.9.0.0,,,is directly connected,Null0,
S,90.10.0.0,,,is directly connected,Null0,
S,90.11.0.0,,,is directly connected,Null0,
C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
L,192.168.100.2,32,,is directly connected,FastEthernet0/0,
C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
L,192.168.100.3,32,,is directly connected,FastEthernet0/0,
C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
L,192.168.100.3,32,,is directly connected,FastEthernet0/0,
The result that I want to get:
device,protocol,network,mask,AD,nextHop,interface,time
R1,B,90.1.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.2.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.3.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.4.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.5.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.6.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.7.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.8.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.9.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.10.0.0,,[20/0],192.168.100.2,,02:47:13
R1,B,90.11.0.0,,[20/0],192.168.100.2,,02:47:13
R1,C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
R1,L,192.168.100.1,32,,is directly connected,FastEthernet0/0,
R2,S,90.1.0.0,,,is directly connected,Null0,
R2,S,90.2.0.0,,,is directly connected,Null0,
R2,S,90.3.0.0,,,is directly connected,Null0,
R2,S,90.4.0.0,,,is directly connected,Null0,
R2,S,90.5.0.0,,,is directly connected,Null0,
R2,S,90.6.0.0,,,is directly connected,Null0,
R2,S,90.7.0.0,,,is directly connected,Null0,
R2,S,90.8.0.0,,,is directly connected,Null0,
R2,S,90.9.0.0,,,is directly connected,Null0,
R2,S,90.10.0.0,,,is directly connected,Null0,
R2,S,90.11.0.0,,,is directly connected,Null0,
R2,C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
R2,L,192.168.100.2,32,,is directly connected,FastEthernet0/0,
R3,C,192.168.100.0,24,,is directly connected,FastEthernet0/0,
R3,L,192.168.100.3,32,,is directly connected,FastEthernet0/0,
This is my code
from collections import ChainMap
import csv
import re
regex_device = re.compile('(?P<Router>^.+)[>#]')
regex = re.compile('(?P<protocol>\S+) +'
'(?P<network>\d+\.\d+\.\d+\.\d+)/?'
'(?P<mask>\d*) +'
'(?P<AD>\[\d+/\d+\]) +via +'
'(?P<nextHop>\d+\.\d+\.\d+\.\d+)\,\ +'
'(?P<interface>\S+\d+/\d+)*'
'(?P<time>\S+)')
regex_direktly = re.compile('(?P<protocol>[L|C|S]) +'
'(?P<network>\d+\.\d+\.\d+\.\d\d?\d?)/?'
'(?P<mask>\d*) +'
'(?P<nextHop>.*), +'
'(?P<interface>\S+\d/\d+|.*)'
'(?P<time>\S*)')
result = []
result1 = []
with open('output_route_table.txt') as data:
for line in data:
match = regex_device.search(line)
if match:
result1.append(match.groupdict())
with open('output_route_table.txt') as data:
for line in data:
match = regex.search(line)
if match:
result.append(match.groupdict())
with open('output_route_table.txt') as data:
for line in data:
match = regex_direktly.search(line)
if match:
result.append(match.groupdict())
with open('output_route_table.csv', 'a') as f:
writer = csv.DictWriter(f, fieldnames=list(result[0].keys()))
writer.writeheader()
for d in result:
writer.writerow(d)
with open('output_route_table.txt') as data:
for line in data:
match = regex_device.search(line)
if match:
result1.append(match.groupdict())
with open('output_route_table.txt') as data:
for line in data:
match = regex.search(line)
if match:
result.append(match.groupdict())
with open('output_route_table.txt') as data:
for line in data:
match = regex_direktly.search(line)
if match:
result.append(match.groupdict())
This parts opens the file 3 times and first one scrapes the router names... to a list you never use. You need to go through the file only once and save the last router you saw (routes belong to the last router mentioned so far).
last_router = ""
with open('output_route_table.txt') as data:
for line in data:
is_router = regex_device.search(line)
if is_router:
last_router = is_router.group('Router') # get the name of the router only
is_route = regex.search(line) or regex_direktly.search(line) # gets first non-None value or None if all are None
if is_route:
result.append({'device': last_router, **is_route.groupdict()})
Related
Multiple provider network management on different neutron nodes
I want to install neutron server on different Nodes. In my environment there will be 3 provider networks name provider1, provider2 and provider3 with respectively. All of them will be flat network. In my system, I want each neutron server manages different provider networks (neutron1 only controls provider1, neutron2 controls provider2 and neutron3 controls provider3). VMs will have internal networks (overlay network) and use Virtual Routers to access provider networks. The interface mapping on neutron servers are as given below: Neutron 1 Bond 0 : Management + overlay Bond 1 : use for provider1 Neutron 2 Bond 0 : Management + overlay Bond 1 : use for provider2 Neutron 3 Bond 0 : Management + overlay Bond 1 : use for provider3 Virtual router(VR) is randomly scheduled across multiple OpenStack Networking nodes. My question is how I can deploy VR on specific neutron node (like VR which has GW address from provider1 will deploy on neutron1) ? or I will create high available VR, in this case VR will deploy all neutron servers. How can I select the active virtual router in this case?
I thought the DVR(Distributed Virtual Router) is helpful for your case. I describe some differences between DVR and non-DVR based on VM access routes. The DVR is generated Virtual Router at each compute node that has VMs to decrease overloads of Network node and SPOF. Differences based on how to route. VMs running node | subnet | using router at DVR | non-DVR --------------------------------------------------------------------------------------------------------------------------------- all on the same node | different | Routing from each VM running compute node | Specified Network node (running L3agent node) all across multiple nodes | different | Routing from each VM running compute node | Specified Network node (running L3agent node) Difference when using Floating IPs. (but accessing from external to internal (SNAT) is not HA, just one node can routing it as of Ocata.) DVR | non-DVR ------------------------------------------------------- each DVR has each Floating IP | Just Network node only As following configuration steps were based just a simple pattern, you need to refer the official tutorials for adopting your system. Prerequisite: all compute nodes have installed l3, dhcp, metadata, openvswitch agents. Enable the DVR at all compute nodes. # vim /etc/neutron/neutron.conf [DEFAULT] ...snip... router_distributed = True ...snip... Adding the l2population driver at controller node. # /vim/etc/neutron/plugins/ml2/ml2_conf.ini [ml2] ...snip... mechanism_drivers = openvswitch,l2population ...snip... Configure the SNAT router on the specified compute node. # vim /etc/neutron/l3_agent.ini [DEFAULT] ...snip... agent_mode = dvr_snat ...snip... Configure the agent mode to DVR on the remaining compute nodes. # vim /etc/neutron/l3_agent.ini [DEFAULT] ...snip... agent_mode = dvr ...snip.. Edit openvswitch config on all compute nodes. # vim /etc/neutron/plugins/ml2/openvswitch_agent.ini [agent] ...snip... l2_population = True enable_distributed_routing = True ...snip... Restart for chages to take effect. On controller node. # systemctl restart neutron-server On all compute nodes. # systemctl restart neutron-l3-agent neutron-openvswitch-agent I hope this will help you.
multiple neutron nodes with only one node attached to external network
I have 3 network nodes running neutron-server .. Only one of these nodes is attached to the external network I use ml2 with openvswitch in the bridge mapping of the node connected to the external network - VIA FLOATING IPS - , i have external_net mapped to the correct bridge .. On the other nodes i do not have this mapping defined and i do not have interfaces The issue i have is the following When i try to start a virtual machine that is connected to the external network , i have this error in the logs : neutron-server: 2016-09-07 12:33:00.975 57352 ERROR neutron.plugins.ml2.managers [req-def18170-5e45-4fef-9653-e008faa39913 - - - - -] Failed to bind port 035a58e1-f18f-428b-b78e-e8c0aaba7d14 on host node002 for vnic_type normal using segments [{'segmentation_id': None, 'phy sical_network': u'external_net', 'id': u'0d4590e5-0c48-4316-8b78-1636d3f44d43', 'network_type': u'flat'}] neutron-server: 2016-09-07 12:33:00.975 57352 ERROR neutron.plugins.ml2.managers [req-def18170-5e45-4fef-9653-e008faa39913 - - - - -] Failed to bind port 035a58e1-f18f-428b-b78e-e8c0aaba7d14 on host node003 for vnic_type normal using segments [{'segmentation_id': None, 'phy sical_network': u'external_net', 'id': u'0d4590e5-0c48-4316-8b78-1636d3f44d43', 'network_type': u'flat'}] on both nodes( node002 and node003 ) , because they DO NOT have this network defined ! so is this a bug or such a setup is not valid ? Thank you
In a typical OpenStack deployment you do not bind Nova instances directly to the external network. As you have already surmised, this won't work because that network isn't provisioned on the compute hosts. Instead, you attach your instances to an internal network, and then you assign floating ip addresses from the external network using,e.g., nova floating-ip-create and nova floating-ip-associate. An alternative solution is to use "provider external networks", an arrangement in which your nova instances are attached directly to L2 networks with external connectivity, rather than relying on the floating-ip NAT solution described in the previous paragraphs.
the reason behind the error was bad configuration on nodes that DOES NOT host a provider network mainly the ml2 core file ml2_conf.ini parameter : flat_network should be set to the appropriate value on each node like on the node which is connected to all flat networks ( including the internal network ) it should be set to flat_networks = * and on the node that does not host all flat networks ( the provider network for instance ) flat_networks = physical_internal
I believe it won't work. You need to have binded ports to all your 3 network nodes. A quick test would be to stop neutron-server, neutron-dhcp-agent, neutron-l3-agent and neutron-metadata-agent services from the 2 network nodes that are not bined to external ports... and test again.
multi switch configuration using cisco packet tracer
I have the network configuration as follows I have tried to ping 192.168.1.100 to 192.168.1.101 and it succeeds. I have tried to ping 192.168.50.100 to 192.168.50.101 which is on vlan 50 and it fails. The simulation diagram showed arp is not being forwarded from switch1 to switch2. I have configured both the sides of switch to trunk. I am just learning on vlans and trunking. Can anybody please explains what is the configuration I am missing? If i remove switch1 and connect switch0 to switch2 everything works fine. EDIT Switch0 vlan configuration. Switch1 vlan configuration. Switch2 vlan configuration
You have to add at switch0 and switch2 in the assigned ports, in my case: Switch0(config-if)#int fastEthernet0/2 Switch0(config-if)#switchport access vlan 50 Switch0(config-if)#switchport mode access Switch2(config-if)#int fastEthernet0/3 Switch2(config-if)#switchport access vlan 50 Switch2(config-if)#switchport mode access You can also add vlan 50 to switch1 (I don't know how you have it). Switch1(config)#vlan 50 Switch1(config-vlan)#name VLAN0050 Switch1(config-vlan)#exit Switch1(config)# where the Ethernet cable connects from the PC to the switch. As you can see PC0 goes to PC2 successfully and PC1 goes to PC3 successfully.
Write This Command on Switch 0 & 2 : Switch#configure terminal Switch(config)#vlan 50 Switch(config-vlan)#name test Switch(config-vlan)#exit Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 50 Switch(config-if)#exit Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport mode trunk Switch(config-if)#exit Switch(config)#exit Switch#write memory Switch 1 : in Switch 1 You Must Define Vlan's or You Can Delete This Switch and Connect Switch 0 & 2 Direct With Trunk or You Have Anoter Option Like VTP mode . Whatever This Command Write On Switch 1 : Switch(config)#interface fastEthernet 0/1 Switch(config-if)#switchport mode trunk Switch(config-if)#exit Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport mode trunk Switch(config-if)#exit Switch(config)#vlan 50 Switch(config-vlan)#name test Switch(config-vlan)#exit Switch(config)#exit Switch#write memory
Ubuntu server, monit email, postfix piping
I have a specific setup to pipe incoming emails on an ubuntu server. When emails are sent to name#myserver.com they are filtered and piped to a php script The postfix specific configuration for this piping is as follow (in brief): **main.cf:** ... smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_recipient_access hash:/etc/postfix/access ... **master.cf** mydestination = myserver.com, localhost.myserver, localhost ... smtp inet n - - - - smtpd -o content_filter=myhook:dummy ... pickup fifo n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - - 300 1 oqmgr tlsmgr unix - - - 1000? 1 tlsmgr ... myhook unix - n n - - pipe flags=F user=www-data null_sender= argv=//admin/get_mail.php ${sender} ${size} ${recipient} **access file:** name#myserver.com FILTER myhook:dummy Now everything is working fine when emails are sent to 'myserver.com'. Messages are filtered and the php script is triggered. The problem comes with monit service that is running on the server. Emails sent by monit from myserver.com are filtered by myhook when emails are sent by the service and sent to the piped php script while they should not and directly sent out to the receipient... It looks like postfix filter settings are not working in that case. Curiously, email sent be other web application from the server and going out as they should (from www-data#myserver.com). Specific configuration for minitrc are: set mailserver localhost set mail-format { from: monit#myserver.com } set alert monit#anotherdomain.com Could you help my figure out what could be the conflict between monit and postfix here? thank you.
Internet Provider with "Private WAN" to the clients?
This is strange. How this actually works. So far I know it is "impossible" to have a network like this. I'm going to explain in details how my network works. I have a LAN. 192.168.1.0/24 and router is on 192.168.1.1, This router has a public address. I can share the IP address because I'm running there a server for tests nothing more. It is ok so far. Now the magic happens. When I trace the route to an IP I got this (To google DNS): traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 zonhub.home (192.168.1.1) 1.160 ms 1.676 ms 1.340 ms 2 * * * 3 10.137.211.97 (10.137.211.97) 12.915 ms 12.526 ms 12.145 ms 4 10.255.49.90 (10.255.49.90) 10.349 ms 10.255.49.102 (10.255.49.102) 11.483 ms 11.042 ms 5 80.157.128.249 (80.157.128.249) 34.577 ms 80.157.130.41 (80.157.130.41) 32.917 ms 80.157.130.33 (80.157.130.33) 30.602 ms 6 mad-sa3-i.MAD.ES.NET.DTAG.DE (217.5.95.161) 33.396 ms 80.157.128.22 (80.157.128.22) 27.107 ms mad-sa3-i.MAD.ES.NET.DTAG.DE (217.5.95.161) 29.510 ms 7 80.157.128.22 (80.157.128.22) 28.050 ms 72.14.235.20 (72.14.235.20) 32.767 ms 80.157.128.22 (80.157.128.22) 27.932 ms 8 72.14.235.20 (72.14.235.20) 29.780 ms 72.14.235.18 (72.14.235.18) 27.020 ms 26.706 ms 9 216.239.43.233 (216.239.43.233) 49.456 ms 209.85.240.191 (209.85.240.191) 44.034 ms 216.239.43.233 (216.239.43.233) 51.935 ms 10 72.14.236.191 (72.14.236.191) 53.374 ms 209.85.253.20 (209.85.253.20) 50.699 ms 216.239.43.233 (216.239.43.233) 44.918 ms 11 209.85.251.231 (209.85.251.231) 50.151 ms * 216.239.49.45 (216.239.49.45) 47.309 ms 12 google-public-dns-a.google.com (8.8.8.8) 51.536 ms 50.180 ms 45.505 ms What is that 2nd, 3rd and 4th hop? How can it be on class A private address when 192.168.1.1 is running the NAT service where I have my LAN and my external 3 publics addresses (yes I have 3 and is 3 "class A" IP's on 88,89,93 network). Another thing is how on 4th hop we have the 2nd octet 255? Anyone feel free to traceroute my no-ip domain: synackfiles.no-ip.org Just don't mess with my router (it blocks if you port scan or fail to log in in ssh or http auth so you get banned for this. If you just traceroute it is fine) :P Now, second magic and weird stuff happens. I'm going to run nmap. So i GOT THIS: sudo nmap -sV -A -O 10.137.211.113 -vv -p 1-500 -Pn Starting Nmap 6.00 ( http://nmap.org ) at 2013-11-14 15:24 WET NSE: Loaded 93 scripts for scanning. NSE: Script Pre-scanning. NSE: Starting runlevel 1 (of 2) scan. NSE: Starting runlevel 2 (of 2) scan. Initiating Parallel DNS resolution of 1 host. at 15:24 Completed Parallel DNS resolution of 1 host. at 15:24, 0.04s elapsed Initiating SYN Stealth Scan at 15:24 Scanning 10.137.211.113 [500 ports] SYN Stealth Scan Timing: About 30.40% done; ETC: 15:26 (0:01:11 remaining) SYN Stealth Scan Timing: About 60.30% done; ETC: 15:26 (0:00:40 remaining) Completed SYN Stealth Scan at 15:26, 101.14s elapsed (500 total ports) Initiating Service scan at 15:26 Initiating OS detection (try #1) against 10.137.211.113 Initiating Traceroute at 15:26 Completed Traceroute at 15:26, 9.05s elapsed Initiating Parallel DNS resolution of 1 host. at 15:26 Completed Parallel DNS resolution of 1 host. at 15:26, 0.01s elapsed NSE: Script scanning 10.137.211.113. NSE: Starting runlevel 1 (of 2) scan. Initiating NSE at 15:26 Completed NSE at 15:26, 0.00s elapsed NSE: Starting runlevel 2 (of 2) scan. Nmap scan report for 10.137.211.113 Host is up (0.0010s latency). All 500 scanned ports on 10.137.211.113 are filtered Device type: general purpose|specialized|media device Running: Barrelfish, Microsoft Windows 2003|PocketPC/CE|XP, Novell NetWare 3.X, Siemens embedded, Telekom embedded OS CPE: cpe:/o:barrelfish:barrelfish cpe:/o:microsoft:windows_server_2003::sp1 cpe:/o:microsoft:windows_server_2003::sp2 cpe:/o:microsoft:windows_ce cpe:/o:microsoft:windows_xp:::professional cpe:/o:novell:netware:3.12 Too many fingerprints match this host to give specific OS details TCP/IP fingerprint: SCAN(V=6.00%E=4%D=11/14%OT=%CT=%CU=%PV=Y%G=N%TM=5284EBAB%P=armv7l-unknown-linux-gnueabi) T7(R=Y%DF=N%TG=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=R) U1(R=N) IE(R=N) TRACEROUTE (using proto 1/icmp) HOP RTT ADDRESS 1 2.32 ms zonhub.home (192.168.1.1) 2 ... 30 NSE: Script Post-scanning. NSE: Starting runlevel 1 (of 2) scan. NSE: Starting runlevel 2 (of 2) scan. Read data files from: /usr/bin/../share/nmap OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 122.65 seconds Raw packets sent: 1109 (49.620KB) | Rcvd: 4 (200B) Well, this is odd. I don't know how my country's WAN is designed and built. I'm from Portugal and my ISP is "ZON TVCABO". You can search now. :P This is very very very interesting.. Sincerely, int3
I cannot tell you how your providers WAN is built - but in order to save public IPs - one can design an ISPs internal network with private IPs. The routers that are not needed to be available from public will have private IPs only - the IPs assigned to you can be routed to your uplink over routers that are ISP internally only. the 2nd hop has no tracing allowed, but allows to forward them. the 4th - 10.255.x.x is a private IP in the 10.0.0.0/8 A range. (you can use numbers from 0-255)