Torna indietro   Hardware Upgrade Forum > Software > Programmazione

MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi
Abbiamo provato MSI PRO MAX EDGE AI+, un mini-PC professionale progettato per eseguire modelli di intelligenza artificiale in locale, senza dipendere dal cloud. Il sistema abbina il processore AMD Ryzen AI Max+ 395, 128 GB di memoria unificata e un telaio in alluminio da appena 4 litri, con l'obiettivo di offrire capacità di elaborazione elevate in un formato compatto.
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-02-2009, 09:55   #1
pmhwp
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 453
[Java] Qualcuno che conosce la libreria Jpcap?

Ciao,
dovrei realizzare un piccolo sniffer e vorrei utilizzare questa libreria.

Qualcuno mi puo' dare una mano a comprenderne l'utilizzo?
Per ora ho provato qualche esempio in rete ma non sono riuscito a capire come ottenere per ogni paccheto una stampa precisa dell'IP destinazione/sorgente , protocollo utilizzato e altro.

Ecco quello che ho provato:
Codice:
package simple_sniffer;
//import jpcap.*;
import java.io.BufferedReader;
import java.io.Console;
import java.io.IOException;
import java.io.InputStreamReader;
import jpcap.packet.Packet;
import jpcap.JpcapCaptor;
import jpcap.JpcapSender;
import jpcap.JpcapWriter;
import jpcap.NetworkInterface;
import jpcap.NetworkInterfaceAddress;
import jpcap.packet.*;

public class Main {

  /* variables */
  JpcapCaptor captor;
   NetworkInterface[] list;
   String str,info;
   int x, choice;
    String infos;

  public void handlePacket(Packet packet){
    // Qui si possono elaborare i pacchetti catturati.
    // stampa tutto il contenuto del pacchetto.
    System.out.println( packet );
  }

   public static void main(String args[]) throws IOException {
                new Main();
   }



   public Main() throws IOException {
        Packet info;
        String scelta;
        Console console = System.console();
        JpcapWriter writer;

             /* first fetch available interfaces to listen on */
                list = JpcapCaptor.getDeviceList();
                NetworkInterface[] lists = JpcapCaptor.getDeviceList();

            System.out.println("Available interfaces: ");

            for(x=0; x<list.length; x++) {
                 System.out.println(x+" !!->!! "+list[x].description);
            }

            if (list.length==0){
               System.out.println("Non ho trovato interfacce");
            }else{

                    System.out.println("-------------------------\nChoose interface (0,1..): ");
                    choice = Integer.parseInt(getInput("Choose interface (0,1..): "));

                    System.out.println( choice);

                System.out.println("Listening on interface -> "+list[choice].description);
                System.out.println("-------------------------\n");



          /*Setup device listener */
          try {
                 captor=JpcapCaptor.openDevice(list[choice], 65535, false, 20);
             /* listen for TCP/IP only */
             captor.setFilter("ip and tcp", true);
              }
                 catch(IOException ioe) { ioe.printStackTrace(); }


          /* start listening for packets */
          while (true) {

                     info = captor.getPacket();
                   if(info != null)
                    //infos=  getPacketText(info);
                   System.out.print(getPacketText(info));
                     writer=JpcapWriter.openDumpFile(captor,"captured.txt");
                 }
            }
            }

/* return packet data in true text */
     String getPacketText(Packet pack){
           int i=0,j=0;
           byte[] bytes=new byte[pack.header.length + pack.data.length];

              System.arraycopy(pack.header, 0, bytes, 0, pack.header.length);
              System.arraycopy(pack.data, 0, bytes, pack.header.length, pack.data.length);
              StringBuffer buffer = new StringBuffer();

              for(i=0; i<bytes.length;) {
                  for(j=0;j<8 && i<bytes.length;j++,i++) {
                      String d = Integer.toHexString((int)(bytes [i] &0xff));
                      buffer.append((d.length() == 1 ? "0" + d:d ) + " ");

                  if(bytes[i]<32 || bytes[i]>126)
                      bytes[i] = 46;
                     }
           }
               return new String(bytes,i - j, j);
           }


     /* get user input */
        public static String getInput(String q) {
          String input = "";
          System.out.print(q);
          BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in));
               try {
                   input = bufferedreader.readLine();
                 }
                   catch(IOException ioexception) { }
            return input;
            }

}

Grazie.

Ultima modifica di pmhwp : 04-02-2009 alle 09:57.
pmhwp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB per far girare in locale anche i modelli più grandi MSI PRO MAX EDGE AI+, Ryzen AI Max+ 395 e 128 GB...
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Sempre più applicazioni ottimizza...
Skullcandy Icon, prezzo quasi dimezzato ...
WhatsApp cambia le regole dei gruppi: 4 ...
Brave finisce in tribunale: avrebbe ruba...
Electrolux, notte di trattative al Mimit...
LG OLED C6 da 77 pollici, il prezzo scen...
Apple avvisa 99 Paesi: spyware mercenari...
Zenbook S Con Core 5 Ultra e schermo da ...
Prendere appunti con dito, penna e AI: c...
Itch.io, filtro "No AI": i giochi visibi...
Microsoft conferma: il nuovo speed test ...
Il capo può far leggere a Claude le chat...
L'AI fa volare AMD, ma c'è un set...
Le scuole statunitensi che rifiutano Gem...
WhatsApp, addio al supporto su iPhone e ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v