2010-04-21 4 views
0

나는 서로 비교해야하지만 내가 할 수있는 최선의 방법을 모른다는 traceroutes가있다. ive는 해시지도가 좋은 기법이지만 나는 그것을 구현하는 방법을 모른다. 내 코드에.Traceroute 비교 및 ​​통계

FileInputStream fstream = new FileInputStream("traceroute.log"); 


// Get the object of DataInputStream 

DataInputStream in = new DataInputStream(fstream); 
BufferedReader br = new BufferedReader(new InputStreamReader(in)); 

String strLine; 


// reads lines in 
while ((strLine = br.readLine()) != null) { 

System.out.println(strLine); 

출력은 다음과 같습니다 :

지금까지 내가 가지고

Wed Mar 31 01:00:03 BST 2010 

traceroute to www.bbc.co.uk (212.58.251.195), 30 hops max, 40 byte packets 
1 139.222.0.1 (139.222.0.1) 0.873 ms 1.074 ms 1.162 ms 
2 core-from-cmp.uea.ac.uk (10.0.0.1) 0.312 ms 0.350 ms 0.463 ms 
3 ueaha1btm-from-uea1 (172.16.0.34) 0.791 ms 0.772 ms 1.238 ms 
4 bound-from-ueahatop.uea.ac.uk (193.62.92.71) 5.094 ms 4.451 ms 4.441 ms 
5 gi0-3.norw-rbr1.eastnet.ja.net (193.60.0.21) 4.426 ms 5.014 ms 4.389 ms 
6 gi3-0-2.chel-rbr1.eastnet.ja.net (193.63.107.114) 6.055 ms 6.039 ms * 
7 lond-sbr1.ja.net (146.97.40.45) 6.994 ms 7.493 ms 7.457 ms 
8 so-6-0-0.lond-sbr4.ja.net (146.97.33.154) 8.206 ms 8.187 ms 8.234 ms 
9 po1.lond-ban4.ja.net (146.97.35.110) 8.673 ms 6.294 ms 7.668 ms 
10 bbc.lond-sbr4.ja.net (193.62.157.178) 6.303 ms 8.118 ms 8.107 ms 
11 212.58.238.153 (212.58.238.153) 6.245 ms 8.066 ms 6.541 ms 
12 212.58.239.62 (212.58.239.62) 7.023 ms 8.419 ms 7.068 ms 

내가해야 할 것은 단지 같은 다른 하나에 대해이 추적을 비교하고 변화를 찾을 것입니다 시간 차이 등을 확인한 다음 통계 페이지를 인쇄하십시오.

+0

당신이이 점에서 무엇을 배울 것이라고 생각합니까? 이런 모든 것들은 다른 사람들의 네트워크에 무의미한로드를가합니다. – dbasnett

답변

0

일련 번호, 호스트 이름, IP 및 시간 기간과 같은 단일 항목 정보를 캡슐화하는 데이터 클래스 (TraceEntry)를 정의합니다. 그런 다음 일치하는 기준에 따라 equals() 메서드를 정의하고 (ip?), 그에 따라 hashCode()를 구현합니다.

이제 한 추적의 모든 항목을 해시 세트에 추가 한 다음 다른 추적을 스캔하여 해시 세트에서 일치하는 항목을 찾을 수 있습니다. 일치하는 항목이 발견되면 ip가 아닌 다른 필드의 차이를 확인할 수 있습니다.

나는 당신의 비교 모델을 잘 이해하기를 바랍니다.

+0

예,이 방법이 효과적 일지 모르지만 어떻게 단일 항목을 캡슐화합니까? – user268915

+0

@ ben-casey : 어느 부분이 분명하지 않고 초점을 맞추고 싶습니까? 추적 텍스트 구문 분석, TraceEntry 구현 또는 HashSet 사용? –