Strumenti Utente

Strumenti Sito


roberto.alfieri:user:reti:lab-tools

Configurare, analizzare e misurare le prestazioni della rete

Analizzare la configurazione del proprio host

Nomi dei device di rete

In passato device Ethernet si chiamavano eth0, eth1, ecc, in ordine progressivo di installazione.

Recentemente il nome viene legato alla posizione fisica del device.

Ad esempio:

  • eno16780032: en is for Ethernet, o is for on-board, The number is a firmware/BIOS provided index.
  • ens192: en is for Ethernet, s is for PCI, The number is a PCI slot number.

Vedi : http://tdt.rocks/linux_network_interface_naming.html

ifconfig

Il comando “ifconfig ” (ipconfig in Windows) consente di visualizzare o modificare le impostazioni delle interfacce di rete.

Per visualizzare lo stato della prima interfaccia ethernet (eth0)

> ifconfig eth0
eth0   Link encap:Ethernet  HWaddr 00:0C:29:D6:82:00  
          inet addr:172.28.34.101  Bcast:172.28.34.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:30243833 errors:329 dropped:184 overruns:0 frame:0
          TX packets:481711 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3331223848 (3.1 GiB)  TX bytes:130699625 (124.6 MiB)
          Interrupt:177 Base address:0x1400 

Per configurare l'indirizzo IP della seconda interfaccia ethernet (eth1) :

/sbin/ifconfig eth1 160.78.251.7 netmask 255.255.255.0 up 

La configurazione allo startup e’ letta da:

/etc/sysconfig/network-script/ifcfg-eth0 (CentOS)
/etc/netplan/01-netcfg.yaml (Ubuntu)

Volendo configurare una seconda interfaccia virtuale sulla stessa interfaccia fisica:

 /sbin/ifconfig eth0:0 172.28.34.3 netmask 255.255.255.0 up

Per eliminarla:

ifconfig eth0:0 down

Per modificare un parametro:

/sbin/ifconfig eth1 mtu 1412
/sbin/ifconfig eth1 hw ether 00:0C:29:0E:46:07  #cambia il MAC di eth1 e di tutte le sue interfacce virtuali (eth1:0, ..)
IPv6
  /sbin/ifconfig eth0 |grep "inet6"
        inet6 addr: 2001:760:2e04:1033::a0/64 Scope:Global
        inet6 addr: fe80::20c:29ff:fe44:f114/64 Scope:Link
 /sbin/ifconfig eth0 inet6 del  2001:760:2e04:1033::a0/64
 /sbin/ifconfig eth0 inet6 add  2001:760:2e04:1033::a0/64

route

Il comando “route” consente di visualizzare o modificare le entry della tabella di routing di un host terminale (Linux o Windows).

netlabX> route 
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.28.34.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         172.28.34.254   0.0.0.0         UG    0      0        0 eth0

Le Entry vengono inserite nelle seguenti modalità:

Gli indirizzi IP appartenenti ad una sottorete aggiungono automaticamente le sottoreti con accesso diretto.

DEFAULT: L’impostazione di “Default” verrà utilizzata quando non viene trovata una entry esplicita per una determinata sottorete. Per impostare il “default”

 route add default gw 160.78.124.254
IPv6
/sbin/route -A inet6 
/sbin/route -A inet6 add 2000::/3 gw 2001:0db8:0:f101::1  # add default gateway

arp

I neighbour host, nel mondo IPv4, si cercano con il protocollo ARP (Address Resolution Protocol): si tratta di inviare un pacchetto IP, opportunamente codi ficato, con l'indirizzo IP destinatario quello dell'host che vorremmo contattare, mentre come MAC address destinazione il valore di broadcast (FF:FF:FF:FF:FF:FF).

Il comando arp consente di visualizzare e confi gurare le entry della tabella degli host vicini (neighbour).

man arp
arp -a 
ping <host>
arp -a

ip

I comandi ifconfig, arp e route e netstat sono ora deprecati e sostituiti dal comando ip: deprecated linux networking commands and their replacement

ip link   # visualizza la configurazione del device (limitandosi a MACaddress e flag)

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
  link/ether 00:0c:29:df:d4:21 brd ff:ff:ff:ff:ff:ff
3: eno33557248: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
  link/ether 00:0c:29:df:d4:2b brd ff:ff:ff:ff:ff:ff
sudo ip link set ens192 mtu 1412  # modifica il MTU
sudo ip link set ens192 address XX:XX:XX:XX:XX:XX # modifica il MAC address 
ip addr   # visualizza anche gli indirizzi ip associati ai device
sudo ip addr add 192.168.52.1/24 dev ens192:52  #  aggiunge un secondo indirizzo IP all'interfaccia ens192
sudo ip addr del 192.168.52.1/24                #   elimina il secondo indirizzo IP all'interfaccia ens192
sudo ip -6 addr add FEC0:19::1/64  dev ens224        # aggiunge un indirizzo IPv6 all'interfaccia ens224
ip route    # visualizza tabelle di routing
ip -6 route # visualizza tabelle di routing IPv6
sudo ip route add 192.168.2.0/24 via 192.168.0.105 dev ens192  # Aggiunge una route statica
sudo ip route del 192.168.2.0/24  # Aggiunge una route statica
sudo ip -6 route add FEC0:15::/64 via FEC0::101  dev ens192
ip    neigh  # visualizza l'elenco dei vicini noti  (protocollo ARP)
ip   -6 neigh flush all # cancella la cache dei neighbours
ping -6 FEC0::105       # contatta un host 
ip   -6 neigh           # consulta la cache

ARP non esiste in IPv6; e' sostituito da Neighbor Discovery Protocol basato su ICMPv6.

Network configuration files

Per rendere permanente un indirizzo IP secondario occorre creare il file di startup:

Esempio CentOS (/etc/sysconfig/network-scripts/ifcfg-ens224:52 )

# Nome Cognome
DEVICE=ens224:52
BOOTPROTO=static
ONBOOT=yes
BROADCAST=192.168.52.255
IPADDR=192.168.52.1
NETMASK=255.255.255.0
NETWORK=192.168.52.0
#
#IPV6INIT=yes
#IPV6ADDR=FEC0:101::1
#IPV6ADDR_SECONDARIES="FEC0:2::1/64 FEC0:3::1/64"
#IPV6_DEFAULTGW=FEC0::1

Le route statiche possono essere impostate attraverso un file di startup.

Esempi CentOS (/etc/sysconfig/network-scripts/route-ens192)

192.168.1.0/24 via 192.168.0.101  # Nome Cognome
FEC0:102::/64  via FEC0::102      # Nome Cognome

Per attivare le configurazioni occorre riavviare il servizio di rete:

sudo systemctl restart network

netstat

Consente di visualizzare le porte del livello di trasporto in ascolto e lo stato delle connessioni aperte.

  man netstat
 netstat       # visualizza Connessioni attive e Socket attivi 
 netstat -r    # visualizza le Route impostate 
 netstat -i    # visualizza le Interfacce
 netstat -s    # visualizza le Statistiche
 netstat -l    # visualizza le connessioni in Listening (ascolto)
 netstat -p    # visualizza per ogni socket il PID del processo che lo sta utilizzando
 netstat -tulpn # tcp, udp, listen, program, numeric

In ambiente Windows: TCPview

ss

ss è un'altra utility per ottenete informazione sui socket:

ss
ss -lt #listening TCP socket

Determinare a linea di comando il proprio indirizzo IP su server HTTP in internet

Se il nostro host accede ad internet in modo indiretto (via NAT o VPN) possiamo visualizzare l'indirizzo IP acquisto con il comando:

 curl ifconfig.me

Analizzare la rete

Siti Web con interfaccia grafica d alcuni tools di rete:

http://ping.eu/ - http://en.dnstools.ch/ - https://iplocation.com/

tracciare i Router attraversati

Traceroute

Traccia tutti i router attraversati per raggiungere una determinata destinazione e ne misura il round-trip time. Invia una sequenza di messaggi (normalmente udp, o icmp con l'opzione -I) al destinatario con un TTL crescente a partire da 1. Quando un router riscontra che il TTL e' scaduto scarta il pacchetto e invia un messaggio di servizio ( ICMP) al mittente. Su alcuni router la risposta ICMP potrebbe essere disabilitata.

Nota: Su Windows il comando e' tracert.

> traceroute www.llnl.gov
traceroute to www.llnl.gov (198.128.246.160), 30 hops max, 40 byte packets
 1  prcis1.pr.infn.it (192.135.11.254)  22.400 ms  22.380 ms  22.357 ms
 2  160.78.254.254 (160.78.254.254)  1.025 ms  1.733 ms  0.763 ms
 3  160.78.253.254 (160.78.253.254)  22.230 ms  22.218 ms  22.205 ms
 4  ru-unipr-rx2-bo1.bo1.garr.net (193.204.219.93)  22.191 ms  22.169 ms  22.162 ms
 5  rx1-bo1-rx1-mi1-l3.mi1.garr.net (90.147.94.129)  22.186 ms rx1-bo1-r-bo1.bo1.garr.net (90.147.80.33)  22.129 ms rx1-bo1-rx1-mi1.mi1.garr.net (90.147.80.109)  22.156 ms
 6  r-mi1-r-bo1-l4.bo1.garr.net (90.147.80.5)  28.196 ms rx1-mi1-r-mi1.mi1.garr.net (90.147.80.93)  21.448 ms  21.294 ms
 7  garr.rt1.mil.it.geant.net (62.40.124.129)  26.184 ms  22.710 ms garr-lb3.rt1.mil.it.geant.net (62.40.124.181)  69.854 ms
 8  as0.rt1.gen.ch.geant2.net (62.40.112.33)  19.082 ms  19.048 ms  19.050 ms
 9  so-4-0-0.rt1.fra.de.geant2.net (62.40.112.161)  27.113 ms  27.112 ms  27.099 ms
10  esnet-wash-gw.rt1.fra.de.geant.net (62.40.125.78)  128.971 ms  128.968 ms  127.316 ms
11  atlasdn1-ip-washsdn2.es.net (134.55.221.5)  134.021 ms * atlasdn1-ip-washsdn2.es.net (134.55.221.5)  133.994 ms
ping
ping -c 1  -R  www.mit.edu     
 (-R = Record Route, ogni router aggiunge il proprio indirizzo nell'header)
 64 bytes from WWW.MIT.EDU (18.7.22.83): icmp_seq=0 ttl=240 time=184 ms
 RR:     didattica.sci.unipr.it (160.78.124.2)
        160.78.254.251
        rt1-bo1-ru-unipr.bo1.garr.net (193.206.128.94)
        rt1.bo1.garr.net (193.206.128.252)
        rt1.mi1.garr.net (193.206.129.3)
        lo0.rt1.mil.it.geant2.net (62.40.114.25)
        so-6-2-0.rt1.gen.ch.geant2.net (62.40.112.21)
        abilene-wash.rt1.fra.de.geant2.net (62.40.125.17)
        so-0-0-0.0.rtr.wash.net.internet2.edu (64.57.28.11)
IPv6

Il comando funziona anche il IPv6, aggiungendo l'opzione 6. Esempio:

bastion ~]# traceroute -6 -i eth1 lpr1-ip6
traceroute to lpr1-ip6 (fe80::20c:29ff:fed3:8863), 30 hops max, 40 byte packets
 1  lpr1-ip6 (fe80::20c:29ff:fed3:8863%eth1)  1.126 ms  1.121 ms  1.109 ms

dig e nslookup

dig e nslookup sono due tools per interrogare i server DNS.

man dig
dig www.unipr.it
dig +short  www.unipr.it
man nslookup 

Con l'opzione +trace di dig la query viene fatta completamente in modo iterativo dal client, che contatta direttamente tutti i server DNS coinvolti nella query. Ovviamente questa opzione funziona solo se in client ha un indirizzo pubblico.

dig +trace www.google.com

Normalmente viene contattato il server DNS specificato nel file /etc/resolv.conf; per contattare un server diverso si usa l'opzione @SERVERNAME

 dig  @ns1.google.com. www.google.com

La risoluzione inversa partendo dall'indirizzo IP si realizza con l'opzione -x:

  dig -x 160.78.167.140 #(equivale al comando dig PTR 140.167.78.160.in-addr.arpa.)

Per trovare il nome del mail server di un determinato dominio http://openskill.info/infobox.php?ID=1196

 dig -t MX NOMEDOMINIO  
 esempio:  dig -t MX studenti.unipr.it
IPv6
lpr-bastion ~]# dig +short netlab.fis.unipr.it AAAA
2001:760:2e04:1033::a0

whois

Consente di interrogare i database whois, noti soprattutto per i nomi a dominio e per gli spazi di indirizzamento.

 man whois
 whois 160.78.48.10
 whois unipr.it

Servizio on-line: http://whois.net/ip-address-lookup/

nmap

cerca di connettersi ad un intervallo di numeri di porta o indirizzi IP per vedere quali servizi o sistemi sono presenti ed attivi.

http://openskill.info/infobox.php?ID=577

nmap   192.135.11.0/26 

Opzioni significative:

  1. sT TCP connect()
  2. sS TCP SYN (richiede i priv. di root )
  3. sP Ping scan

Open Ports

Il servizio on-line Open Ports consente di verificare l'apertura di una porta specifica da Internet.

telnet

Originariamente scritto per implementare a livello client il protocollo TELNET, puo essere utilizzato per connettersi tramite TCP/IP alla porta di un host.

 telnet HOSTNAME port

Esempio:

telnet netlab.fis.unipr.it 81

Trying 160.78.167.140...
Connected to netlab.fis.unipr.it.
Escape character is '^]'.
GET / HTTP/1.1
Host: netlab.fis.unipr.it     # Richiesto da HTTP 1.1
User-Agent: Nome.Cognome
Connection: close

HTTP/1.1 200 OK
Date: Wed, 12 Oct 2011 20:25:47 GMT
Server: Apache/2.2.14 (Ubuntu)
Last-Modified: Sun, 11 Apr 2010 14:34:39 GMT
ETag: ``6026f8-e03-483f6eda43dc0''
Accept-Ranges: bytes
Content-Length: 3587
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

....

Determinare le prestazioni

Siti web per determinare le prestazioni nell'accesso alla rete del proprio PC:

http://www.speedtest.net/it/

ping

Utilizza il protocollo ICMP per verificare la raggiungibilità di un host remoto. Consente di misurare la latenza (round-trip time).

ping -c 3   www.mit.edu
 64 bytes from WWW.MIT.EDU (18.7.22.83): icmp_seq=0 ttl=240 time=122 ms
 64 bytes from WWW.MIT.EDU (18.7.22.83): icmp_seq=1 ttl=240 time=122 ms
 64 bytes from WWW.MIT.EDU (18.7.22.83): icmp_seq=2 ttl=240 time=121 ms
 --- www.mit.edu ping statistics ---
 3 packets transmitted, 3 received, 0% packet loss, time 2018ms
 rtt min/avg/max/mdev = 121.834/122.344/122.691/0.466 ms, pipe 2

Per isolare RTT:

ping -c 10 www.unipr.it | awk '{FS="=| "} {print $11}'

Il server ping e' per default attivo negli host, ma puo' essere disabilitato per motivi di sicurezza: http://www.linuxhowtos.org/Security/disable_ping.htm

IPv6

Il comando e' ping6 -I <int> <IP6>. Esempio:

ping6 -I eth1 lpr2-ip6
PING lpr2-ip6(lpr2-ip6) from fe80::20c:29ff:fe44:f11e eth1: 56 data bytes
64 bytes from lpr2-ip6: icmp_seq=0 ttl=64 time=1.46 ms
64 bytes from lpr2-ip6: icmp_seq=1 ttl=64 time=0.415 ms
64 bytes from lpr2-ip6: icmp_seq=2 ttl=64 time=0.391 ms
64 bytes from lpr2-ip6: icmp_seq=3 ttl=64 time=0.384 ms

wget

wget consente di fare download di file con il protocollo http o ftp. Il programma misura il throughput del trasferimento (KB/s)

Nel seguente esempio il file linux-3.17.1.tar.gz viene scaricato primo dal server originale (www.kernel.org) in 12 secondi, poi dalla copia mirror del GARR in 7.2 secondi:

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.17.1.tar.gz
--2014-10-23 10:01:36--  https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.17.1.tar.gz
Resolving www.kernel.org... 199.204.44.194, 198.145.20.140, 149.20.4.69, ...
Connecting to www.kernel.org|199.204.44.194|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 121383850 (116M) [application/x-gzip]
Saving to: âlinux-3.17.1.tar.gzâ
100%[====================================================>] 121,383,850 12.1M/s   in 12s     
2014-10-23 10:01:50 (9.78 MB/s) - âlinux-3.17.1.tar.gzâsaved [121383850/121383850]

 wget http://mirror1.mirror.garr.it/mirrors/kernel.org/linux/kernel/v3.x/linux-3.17.1.tar.xz
--2014-10-23 10:00:14--  http://mirror1.mirror.garr.it/mirrors/kernel.org/linux/kernel/v3.x/linux-3.17.1.tar.xz
Resolving mirror1.mirror.garr.it... 193.206.140.34, 2001:760:ffff:b0::34
Connecting to mirror1.mirror.garr.it|193.206.140.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 80315188 (77M) [text/plain]
Saving to: âlinux-3.17.1.tar.xzâ
100%[========================================================>] 80,315,188  10.4M/s   in 7.2s    
2014-10-23 10:00:22 (10.6 MB/s) - âlinux-3.17.1.tar.xzâsaved [80315188/80315188]

Esercizio: localizzare i 2 server (199.204.44.194 e 193.206.140.34)

ab

Apache Benchmark

ab -c 1 -n 10 -i http://www.google.com/

Iperf e netperf

http://fly.isti.cnr.it/didattica/tesi/Barsocchi/APPENDICE_B.pdf

Iperf è uno strumento per misurare il throughput TCP tra un cliente e un server. E' flessibile, open source e disponibile per diversi sistemi operativi.

Nell'uso piu' semplice occorre lanciare :

server> iperf -s   [-p <port>] (porta di ascolto 5001/TCP)
client> iperf -c server_name  [-p <port>]

Net Sniffing

tcpdump e tshark

Tcpdump e tshark sono strumenti linux a linea di comando per l'analisi del traffico che avviene sulla rete fisica a cui si e' collegati. Si metteno in ascolto sull'interfaccia di rete dell'host e catturano tutti i pacchetti in transito (occorrono i privilegi di amministratore).

Sintassi:   tcpdump [opzioni] [espressioni]

Le opzioni stabiliscono il modo di funzionamento del programma e il tipo di informazioni da visualizzare. Ad esempio:

tcpdump                # visualizza  le informazioni essenziali di tutti i pacchetti da eth0 (default)
tcpdump  -w file.pcap  # salva i pacchetti catturati nel file
tcpdump  -w file.pcap  -Z <user>  # salva i pacchetti cun uid <user> 
tcpdump -i  eth1       # utilizza una interfaccia diversa
tcpdump -e             # visualizza gli indirizzi link
tcpdump -r  file.pcap  # legge i pacchetti dal file anziche' dall'interfaccia di rete
tcpdump -X             # visualizza il contenuto dei primi 68 byte di ogni pacchetto
tcpdump -X -s 1500     # come sopra ma visualizza 1500 byte
tcpdump -n             # non risolve gli indirizzi IP
tcpdump -nn            # non risolve gli indirizzi IP e le porte
tcpdump -F filter.txt  # legge le espressioni da file
tcpdump -c 100         # cattura 100 frame , quindi termina

Se non viene impostato il numero di frame da catturare ( opzione -c ) il programma deve essere terminato premendo ctrl/C.

Le espressioni ci consentono di applicare un filtro sui pacchetti da catturare. Nell'espressione possiamo combinare indirizzi IP (host), reti (net), porte (port) e protocolli mediante operatori logici. Alcuni esempi:

tcpdump    ether host 00:0c:29:df:d4:21 -i eno16777984
tcpdump -X ether dst  01:80:C2:00:00:00 -i eth0

tcpdump dst host 192.135.11.1      filtra i pacchetti destinati (dst)  all'indirizzo IP
tcpdump  net 160.78.124.0/24         Indirizzo (src o dest) appartente alla rete indicata 
tcpdump  host 172.28.34.100  and port 25   Cattura tutto il traffico (src o dst) SMTP di 1.2.3.4
tcpdump "host  172.28.34.100  and (not src net 172.28.34.0/24 or not dst net 172.28.34.0/24)" Tutto il traffico tra la il sistema locale e l’esterno della LAN.
tcpdump udp                      tutto il traffico UDP
tcpdump "ip[0] & 0x0f > 5"
tcpdump "(tcp[13] & 0x03 !=0 and not src and dst host localhost)" 
tcpdump -nn  "tcp[tcpflags] & (tcp-syn|tcp-fin) != 0"    filtra i pacchetti con SYN o FIN attivi
tcpdump -nn  "tcp[12] >> 4 > 5"         filtra pacchetti tcp con opzioni nell'intestazione (HLEN > 5)

nota: tcp[13] e' il 14mo byte dell'header TCP. Contiene i 6 bit di codice: URG,ACK,PSH,RST,SYN,FIN

IPv6
tcpdump ip6 #cattura tutto il traffico IPv6

wireshark

wireshark e' un packet sniffer come tcpdump ma e' dotato di una interfaccia grafica che consente una migliore visualizzazione e analisi dei pacchetti catturati. La sintassi per la specifica delle opzioni di cattura e' compatibile con tcpdump.

Link: www.wireshark.org/docs

Il filtro di cattura ha una sintassi simile a quella di tcpdump:

Principali attributi per il filtro:
tipo: host, net, port
direzione: src, dst, src or dst, src and dst
protocollo: ether, ip, tcp, udp, arp, rarp
operatori logici: and, or, not (oppure !)
dst host <dest> il campo dst (destinazione) del pacchetto equivale a <dest>
src host <sorg> il campo src (sorgente) del pacchetto equivale a <sorg>
host <sistema> la src o la dst del pacchetto corrispondono a <sistema>
ether dst <indirizzo> l'indirizzo ethernet di dst è uguale a <indirizzo>
ether host <indirizzo> l'indirizzo ethernet src o quello di dst corrisponde a <indirizzo>
dst net <rete> l'indirizzo dst del pacchetto ha una indirizzo di rete equivalente a <rete>
src net <rete> l'indirizzo src del pacchetto ha un indirizzo di rete equivalente a <rete>
net <rete> l'indirizzo src o l'indirizzo dst ha un indirizzo di rete uguale a <rete>
dst port <porta> il pacchetto è di tipo ip/tcp oppure ip/udp ed è destinato alla porta con valore uguale a <porta>
src port <porta> il pacchetto ha come porta origine il valore <porta>
port <porta> la porta src o quella di dst equivalgono al valore <porta>

Esempi:
Catturare tutto il traffico SMTP da e verso il sistema 1.2.3.4:
host 1.2.3.4 and port 25
Catturare tutto il traffico tra il sistema locale e l’esterno della LAN:
host 1.2.3.4 and (not src net 1.2.3.0/24 or not dst net 1.2.3.0/24)
Traffico multicast STP:
ether dst 01:80:C2:00:00:00
Display filter

I pacchetti catturati possono essere filtrati con il “Display Filter”.

Op. di comparazione (English/C-Like): eq/==   ne/!=  gt/>  lt/<  ge/>=  le/<= contains 
Op. logici (English/C-like):                    and/&&    or/||     xor/^^  not/!
Variabili booleane:                                tcp.flags.ack   tcp.flags.syn  http.request ecc.

Esempi:

frame.pkt_len > 10   
frame.pkt_len ge 0x100        
eth.addr == ff:ff:ff:ff:ff:ff
eth.type == 0x0806         (0x0800=IP, 0x0806=ARP, 0000-0x05DC=IEEE802.3 Length Field)       
eth.addr == 00:00:01:02:03:04
eth.addr[2] == 83    
eth.src[0:3] == 00:00:83   (begin:offset)    
eth.dst[1-2] == 20:20        (begin – end)
ip.addr eq 192.168.0.1
ip.len  le 1500
tcp.flags.ack and ip.addr==192.168.0.1
http.user_agent  contains Mozilla

Progetto sniffer

roberto.alfieri/user/reti/lab-tools.txt · Ultima modifica: 19/10/2021 09:59 da roberto.alfieri