Is it must for a packet sniffer to enable promiscuous mode?Can packets
be sniffed without the NIC being in promiscuous mode?
No, non è un dovere e lo sniffing può essere fatto anche in modo non promiscuo.
Also when in promiscuous mode the NIC accepts all packets which are
not addressed to it's MAC address.Does it also mean that it responds
to all packets(it receives) that require a response? E.g : will it
respond to all ARP requests(broadcast packets) not meant for it's
MAC?Will it respond to all ICMP echo messages?
Lo sniffing può essere fatto anche in modalità non promiscua. Ma in realtà dipende da quale traffico si vuole annusare. Se si desidera rilevare il traffico non destinato al proprio indirizzo NIC, utilizzare la modalità promiscua. D'altra parte in modalità non promiscua, la scheda di rete farà cadere / ignorare il pacchetto che non è destinato al suo indirizzo. La tua macchina risponderà per impostazione predefinita a tutti i braodcast e ai multicast (se la tua macchina si trova nello stesso gruppo multicast). Tra l'altro, i frame broadcast in generale hanno l'indirizzo MAC di destinazione di FF:FF:FF:FF:FF:FF
. Questo è il motivo per cui ogni dispositivo riceverà quel pacchetto.
In caso di ARP, solo quella particolare macchina risponderà chi ha quel particolare indirizzo IP per cui è stata fatta la query ARP! Se creo un probe ARP per 10.0.0.1, il mio probe / pacchetto ARP conterrà queste informazioni e la sonda ARP verrà trasmessa. Quindi ogni macchina sullo stesso dominio di trasmissione riceve la sonda / pacchetto ARP ma la macchina con l'IP 10.0.0.1 risponderà solo a questa sonda ARP. Gli altri lo lasceranno cadere.
Per TCP / IP, consiglierei TCP/IP Illustrated, Volume 1: The Protocols, 2nd Edition By Kevin R. Fall, W. Richard Stevens
L'ho avuto nei miei scapoli ed è un ottimo libro e cancellerà tutti i concetti. Mi piacerebbe raccomandarlo.