Java'nın ICMP'ler ve traceroute için temel değerleri yoktur. Bu nasıl aşılır? Temel olarak * nix ve Windows'da çalışması gereken kodları yapıyorum ve her iki platformda da çalışacak bir kod parçasına ihtiyacım var.Java'da ICMP'ler ve traceroutes nasıl yapılır
6
A
cevap
4
Java'da izleme yolu komutunu "uygulamak" için bugün yazdığım şey. Sadece Windows'da test ettim, fakat Linux için de çalışmalı, ancak Linux için birçok traceroute aracı mevcut olsa da, muhtemelen bu programların varlığı için bazı kontroller olmalı.
public class NetworkDiagnostics{
private final String os = System.getProperty("os.name").toLowerCase();
public String traceRoute(InetAddress address){
String route = "";
try {
Process traceRt;
if(os.contains("win")) traceRt = Runtime.getRuntime().exec("tracert " + address.getHostAddress());
else traceRt = Runtime.getRuntime().exec("traceroute " + address.getHostAddress());
// read the output from the command
route = convertStreamToString(traceRt.getInputStream());
// read any errors from the attempted command
String errors = convertStreamToString(traceRt.getErrorStream());
if(errors != "") LOGGER.error(errors);
}
catch (IOException e) {
LOGGER.error("error while performing trace route command", e);
}
return route;
}
1
Sen gerekir jpcap library (belki SourceForge jpcap çok çalışıyor) ve istenen işlevi yerine getirmeye ICMPPacket sınıfını kullanın.
jpcap library kullanarak Java traceroute implementation İşte.
İlgili konular
- 1. Salatalık javada senaryo adı nasıl alınır?
- 2. Yazıcı ile javada dizileri kullanma
- 3. Oynatıcı ve oyuncu başına oyuncu bazında kartların geri döndürülmesi javada
- 4. Pencereler için tutulmayı kullanarak javada akış
- 5. Koyu renklerin parlak hale getirilmesi javada parlak
- 6. JavaFX 8 WebEngine: javascript'ten javada System.out'a console.log() nasıl alınır?
- 7. Çok satırlı metin javada printdialog ile nasıl dışa aktarılır?
- 8. Uçucu değişken, javada statik olarak tanımlanabilir mi?
- 9. Javada, bunlardan biri sinyal verilinceye kadar çoklu `Koşullar 'beklemek nasıl
- 10. Yatay ve dikey merkez nasıl yapılır?
- 11. fn * nedir ve Clojure önyükleme nasıl yapılır?
- 12. Şerit istisnalarının nerede ve nasıl yapılır?
- 13. Odt'ta nasıl arama yapılır ve değiştirilir?
- 14. xsl ve xml ile I18N nasıl yapılır
- 15. Borç ve kredi formülü nasıl yapılır
- 16. Nasıl Yapılır: Typescript ve knockout dönüş işlevi
- 17. Dosya Şifreleme ve Şifre Çözme Nasıl Yapılır?
- 18. java kullanarak "Aç" ve "Kaydet" nasıl yapılır
- 19. Cychon'da struct.pack ve struct.unpack nasıl yapılır?
- 20. PaylaşılanPreferences'da nasıl kayıt ve geri yükleme yapılır
- 21. ve - veya gtrendsR ile sorgulama nasıl yapılır
- 22. Android'de sürükle ve bırak işlemi nasıl yapılır?
- 23. Flex tarih kesintisi ve eklenmesi nasıl yapılır
- 24. Arabirimler ve JPA ile çalışma nasıl yapılır
- 25. Ruby ve eventmachine ile nasıl giriş yapılır?
- 26. uboot'ta "if" ve karşılaştırma ifadesi nasıl yapılır?
- 27. Logging.info ve logging.debug konsola nasıl çıkış yapılır?
- 28. VSS'de şube ve birleştirme işlemi nasıl yapılır?
- 29. π ve 16 aynı satırda nasıl yapılır?
- 30. Bu Java Kodu Neden ve Nasıl Yapılır?
Durum os.toLowerCase() öğesinde değiştirilmelidir. ("Win") – Hassan
** convertStreamToString ** yöntemini nerede kullandı? – Omore
@Omore Nerede tanımlandığını soruyor musunuz? Bence bu yazdığım özel bir yöntem. Artık kodlara erişimim yok, böylece nasıl uygulanacağını anlamanız gerekecek. Eğer yaparsanız, lütfen cevabımı içerecek şekilde güncelleyin; Bunu yapmak için puan alırsınız. –