2013-07-03 2 views
0

네트워크 영역과 그 이름을 csv 파일이있는 네트워크 모니터링 소프트웨어 프로그램에 입력해야합니다. 이 소프트웨어는 영역 이름, IP 주소 시작 및 IP 주소 중지 만 사용합니다. IP 범위 중 어느 것도 중복 될 수 없습니다.IP 주소 범위를 확인하고 변경하고 중복을 허용하지 않는 프로그램

네트워크 팀의 목록을 가져오고 IP 범위가 항상 겹치므로 지금은 Excel 기능을 사용하여 겹치지 않았는지 확인한 다음 IP 주소 계산기를 사용하고 채우기 위해 잘라내어 붙여 넣기해야합니다 사이에있는 범위에. 이 중첩하지 않았다 경우

Zone Name, IPStart, IPStop,Range,Source 
Group A,10.0.0.0,10.127.255.255,10.0.0.0/9,New List 
Group A Sales,10.16.0.0,10.31.255.255,10.16.0.0/12,New List 
Group A Sales Primary routers,10.23.1.0,10.23.1.15,10.24.1.0/28,New List 
Group A Sales Web Servers,10.16.0.0,10.19.255.255,10.16.0.0/14,New List 
Group A Sales Web Servers - Primary,10.18.0.0,10.18.0.255,10.18.0.0/24,New List 
Group A Marketing,10.62.0.0,10.62.255.255,10.62.0.0/16,New List 
Group A Research,10.62.0.0,10.63.255.255,10.62.0.0/15,Old List 
Group B,10.128.0.0,10.255.255.255,10.128.0.0/9,Old List 


Into this (with the other ranges filled out as well): 

Zone Name, IPStart, IPStop,Range,Source 
Group A,10.0.0.0,10.15.255.255,10.0.0.0/12,New List 
Group A Sales,10.24.0.0,10.31.255.255,10.24.0.0/13,New List 
Group A Sales Web Servers,10.16.0.0,10.17.255.255,10.16.0.0/15,New List 
Group A Sales Web Servers - Primary,10.18.0.0,10.18.0.255,10.18.0.0/24,New List 
Group A Sales Web Servers,10.19.0.0,10.19.255.255,10.19.0.0/16,New List 
Group A Sales,10.20.0.0,10.21.255.255,10.20.0.0/15,New List 
Group A Sales,10.22.0.0,10.22.255.255,10.22.0.0/16,New List 
Group A Sales,10.23.0.0,10.23.0.255,10.23.0.0/24,New List 
Group A Sales Primary routers,10.23.1.0,10.23.1.15,10.24.1.0/28,New List 
Group A Sales,10.23.1.16,10.23.1.31,10.23.1.16/28,New List 
Group A Sales,10.23.1.32,10.23.1.63,10.23.1.32/27,New List 
Group A Sales,10.23.1.64,10.23.1.127,10.23.1.64/26,New List 
Group A Sales,10.23.1.128,10.23.1.255,10.23.1.128/25,New List 
Group A Sales,10.23.2.0,10.23.3.255,10.23.2.0/23,New List 
Group A Sales,10.23.4.0,10.23.7.255,10.23.4.0/22,New List 
Group A Sales,10.23.8.0,10.23.15.255,10.23.8.0/21,New List 
Group A Sales,10.23.16.0,10.23.31.255,10.23.16.0/20,New List 
Group A Sales,10.23.32.0,10.23.63.255,10.23.32.0/19,New List 
Group A Sales,10.23.64.0,10.23.127.255,10.23.64.0/18,New List 
Group A Sales,10.23.128.0,10.23.255.255,10.23.128.0/17,New List 
Group A Marketing,10.62.0.0,10.62.255.255,10.62.0.0/16,New List 
Group A Research,10.63.0.0,10.63.255.255,10.62.0.0/16,Old List 
Group B,10.128.0.0,10.255.255.255,10.128.0.0/9,Old List 

프로그램은 여전히 ​​오래된 목록을 통해 새로운 목록에 우선 순위를 부여해야하지만 것 올드 목록이 포함

기본적으로이 같은 목록 (CSV)으로 변경하려면 새 목록에있는 항목이 있습니다.

저는 프로그래밍 초보자입니다.하지만 저는 C++을 알고 있었고 Perl, PHP를 배우며 bash 스크립팅 및 awk/gawk를 알고 있습니다. 나는 인터넷을 통해이 일을하는 프로그램을 찾고 있었고 아무 것도 가까이 오지 않았다. 나는 어떤 언어를 넣을 지조차 모른다.

어떤 프로그램이나 적어도 출발점은 정말로 도움이 될 것이다. 감사합니다

나는 결국 특정 길이를 충족시키고 다른 파일의 항목을 기반으로 영역 위치를 추가하기 위해 영역 이름을 비교 및 ​​편집하기 위해이 프로그램의 일부를 작성해야하므로 마음에 두십시오.

편집

내가 파이썬을 배우고, 그래서 나는이 파이썬을 사용하는 것이라 생각합니다. 파이썬에서 중복을 검사하는 방법을 찾는 데 어려움을 겪고 있습니다. 최종 코드는 겹침을 확인한 다음 두 범위의 모든 IP 주소를 반환 한 다음 더 큰 범위의 작은 범위 주소를 제거한 다음 새 주소 범위를 추가 : 추가하고 이전 주소 범위를 삭제합니다. 그 말이 맞는다면.

저는이 순간에이 작업에 적극적으로 참여하지 않고 있으며,이 파일의 처리를 자동화하기 위해 코드의 다른 부분을 작업하고 있습니다. 그러나 이것이 내 코드에서 가장 복잡한 부분이 될 것이라 생각합니다. 그래서 어떤 도움을 주시면 감사하겠습니다.

감사합니다, B0T

+0

얼마 전에 다음 주제가 발견되어 도움이 될 수 있습니다. http://stackoverflow.com/questions/13608394/testing-if-a-network-in-cidr-notation-overlaps-another-network – Benz

+0

감사! 나는 이것을 위해 지금 Python을 사용하려고 시도 할 것이라고 생각한다. – CircuitB0T

답변

3

는 인터넷에서보세요 :: IP 모듈을 CPAN에, 당신이 IP 범위를 지정하고 그들이 중복 여부를 판단 할 수있는 절차 적 인터페이스를 가지고 있습니다. 이상적으로는 객체 구현을 사용하지만 객체 지향 프로그래밍이 무엇인지, 펄에서 어떻게 수행해야 하는지를 알아야합니다. 그런 다음 해당 모듈을 사용하면 서브넷 개체를 만들고 서브넷 개체의 범위가 겹치는 지 확인할 수 있습니다.

+0

좋아요, 시작해 주셔서 감사합니다. – CircuitB0T