Cosmétique
code : quelques corrections de forme. git-svn-id: https://pif.pu-pm.univ-fcomte.fr/svn/loc@79 785a6c6c-259e-4ff1-8b91-dc31627914f0
This commit is contained in:
parent
7a5fd431f4
commit
7800038be0
|
@ -129,8 +129,8 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header, const u_char *p
|
|||
|
||||
memcpy(&rtap_bytes, &data[2], sizeof(unsigned short)) ; // Recopie les deux octets à partir du troisième octet de donnée qui est la taille de l'en-tête rtap (change avec des flags)
|
||||
raw_packet_type = data[rtap_bytes] ; // Au bout de l'en-tête rtap il y a celle du 802.11 dont le premier determine le type (beacon ou pas)
|
||||
memcpy((unsigned char*) &dst_port, &data[rtap_bytes+24+8+20+3], 1) ; // On récupère le port de destination (mais il faut retourner les deux octets)
|
||||
memcpy(&((unsigned char*) &dst_port)[1], &data[rtap_bytes+24+8+20+2], 1) ; // (20 : longueur de l'en-tête IP, le port de destination étant les troisièmes et quatrièmes octet suivant).
|
||||
memcpy((unsigned char*) &dst_port, &data[rtap_bytes + IEEE80211_HEADER_SIZE + LLC_HEADER_SIZE + IP_HEADER_SIZE + 3], 1) ; // On récupère le port de destination (mais il faut retourner les deux octets)
|
||||
memcpy(&((unsigned char*) &dst_port)[1], &data[rtap_bytes + IEEE80211_HEADER_SIZE + LLC_HEADER_SIZE + IP_HEADER_SIZE + 2], 1) ; // Port de destination = troisième et quatrième octets suivant l'en-tête IP.
|
||||
raw_packet_flags = data[rtap_bytes+1] ; // On récupère les flags 802.11, qui sont dans l'en-tête 802.11.
|
||||
|
||||
#ifdef DEBUG
|
||||
|
|
|
@ -222,7 +222,7 @@ int iface_mode_monitor(char *iface)
|
|||
|
||||
|
||||
|
||||
/* Change le canal de l'interface Wi-Fi "iface" avec la valeur "channel" */
|
||||
/* Change le canal de l'interface Wi-Fi "iface" avec la valeur "channel" (numéro de 1 à 14) */
|
||||
int iface_set_channel(char *iface, int channel)
|
||||
{
|
||||
struct iwreq wrq ;
|
||||
|
@ -275,6 +275,7 @@ int iface_channel_hop(char *iface)
|
|||
|
||||
|
||||
|
||||
/* Gestionnaire de signal générique pour SIGINT */
|
||||
void sigint_handler(int num)
|
||||
{
|
||||
if (num != SIGINT)
|
||||
|
@ -291,6 +292,7 @@ void sigint_handler(int num)
|
|||
|
||||
|
||||
|
||||
/* Gestionnaire de signal générique pour SIGTERM */
|
||||
void sigterm_handler(int num)
|
||||
{
|
||||
if (num != SIGTERM)
|
||||
|
|
148
libowlps/owlps.h
148
libowlps/owlps.h
|
@ -64,79 +64,11 @@ typedef struct _couple_message
|
|||
} couple_message ;
|
||||
|
||||
|
||||
/* Types des paquets capturés (data[rtap_bytes]) */
|
||||
#define RAW_PACKET_TYPE_BEACON 0x80
|
||||
#define RAW_PACKET_TYPE_DATA 0x08
|
||||
|
||||
/* Protocoles des paquets capturés (data[rtap_bytes+24+8+9]) */
|
||||
#define RAW_PACKET_PROTO_UDP 0x11
|
||||
#define RAW_PACKET_PROTO_ICMP 0x01
|
||||
|
||||
/* Type de paquet ICMP : octet suivant la fin de l'en-tête IP (data[rtap_bytes+24+8+20]) */
|
||||
#define RAW_PACKET_ICMP_ECHO 0x08
|
||||
|
||||
|
||||
/* Types de demandes de localisation */
|
||||
#define PACKET_TYPE_NORMAL 0
|
||||
#define PACKET_TYPE_CALIBRATION 1
|
||||
|
||||
|
||||
/* Position des champs fixes de l'en-tête rtap (octets) */
|
||||
#define RTAP_P_HREVISION 0 // Header revision
|
||||
#define RTAP_P_HPAD 1 // Header pad
|
||||
#define RTAP_P_HLENGTH 2 // Header length
|
||||
#define RTAP_P_PRESENTFLAGS 4 // Present flags
|
||||
|
||||
|
||||
/* Longueur des champs de l'en-tête rtap (octets) */
|
||||
#define RTAP_L_HREVISION 1 // Header revision
|
||||
#define RTAP_L_HPAD 1 // Header pad
|
||||
#define RTAP_L_HLENGTH 2 // Header length
|
||||
#define RTAP_L_PRESENTFLAGS 4 // Present flags
|
||||
#define RTAP_L_MACTS 8 // MAC timestamp
|
||||
#define RTAP_L_FLAGS 1 // autre champ de flags
|
||||
#define RTAP_L_RATE 1 // Data rate
|
||||
#define RTAP_L_CHANNEL 2 // Channel
|
||||
#define RTAP_L_CHANNELTYPE 2 // Channel type
|
||||
#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal dBm
|
||||
#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise dBm
|
||||
#define RTAP_L_ANTENNA 1 // Antenna
|
||||
#define RTAP_L_FHSS 2
|
||||
#define RTAP_L_LOCKQUALITY 2
|
||||
#define RTAP_L_TXATTENUATION 2
|
||||
#define RTAP_L_TXATTENUATIONDB 2
|
||||
#define RTAP_L_TXATTENUATIONDBM 1
|
||||
#define RTAP_L_ANTENNASIGNALDB 1 // en dB
|
||||
#define RTAP_L_ANTENNANOISEDB 1 // en dB
|
||||
#define RTAP_L_FCS 4
|
||||
#define RTAP_L_EXT // Non implémenté
|
||||
|
||||
|
||||
/* Positions pour affichage (tableau check de ss_list) */
|
||||
#define RTAP_MACTS 0
|
||||
#define RTAP_FLAGS 1
|
||||
#define RTAP_RATE 2
|
||||
#define RTAP_CHANNEL 3 // ainsi que RTAP_CHANNELTYPE
|
||||
#define RTAP_FHSS 4
|
||||
#define RTAP_ANTENNASIGNALDBM 5
|
||||
#define RTAP_ANTENNANOISEDBM 6
|
||||
#define RTAP_LOCKQUALITY 7
|
||||
#define RTAP_TXATTENUATION 8
|
||||
#define RTAP_TXATTENUATIONDB 9
|
||||
#define RTAP_TXATTENUATIONDBM 10
|
||||
#define RTAP_ANTENNA 11
|
||||
#define RTAP_ANTENNASIGNALDB 12
|
||||
#define RTAP_ANTENNANOISEDB 13
|
||||
#define RTAP_FCS 14
|
||||
|
||||
|
||||
/* Taille des en-têtes des paquets (en octets) */
|
||||
#define IEEE80211_HEADER_SIZE 24
|
||||
#define LLC_HEADER_SIZE 8
|
||||
#define IP_HEADER_SIZE 20
|
||||
#define UDP_HEADER_SIZE 8
|
||||
|
||||
|
||||
/* Fréquences des canaux Wi-Fi en Hz */
|
||||
#define CHANNEL_1 2412
|
||||
#define CHANNEL_2 2417
|
||||
|
@ -154,6 +86,76 @@ typedef struct _couple_message
|
|||
#define CHANNEL_14 2477
|
||||
|
||||
|
||||
/* Taille des en-têtes des paquets (en octets) */
|
||||
#define IEEE80211_HEADER_SIZE 24
|
||||
#define LLC_HEADER_SIZE 8
|
||||
#define IP_HEADER_SIZE 20
|
||||
#define UDP_HEADER_SIZE 8
|
||||
|
||||
/* Types des paquets capturés (en-tête IEEE 802.11) */
|
||||
#define RAW_PACKET_TYPE_BEACON 0x80
|
||||
#define RAW_PACKET_TYPE_DATA 0x08
|
||||
|
||||
/* Protocoles des paquets capturés (en-tête IP) */
|
||||
#define RAW_PACKET_PROTO_UDP 0x11
|
||||
#define RAW_PACKET_PROTO_ICMP 0x01
|
||||
|
||||
/* Type de paquet ICMP : octet suivant la fin de l'en-tête IP (data[rtap_bytes+24+8+20]) */
|
||||
#define RAW_PACKET_ICMP_ECHO 0x08
|
||||
|
||||
|
||||
/* Position des champs fixes de l'en-tête radiotap (octets) */
|
||||
#define RTAP_P_HREVISION 0 // Header revision
|
||||
#define RTAP_P_HPAD 1 // Header pad
|
||||
#define RTAP_P_HLENGTH 2 // Header length
|
||||
#define RTAP_P_PRESENTFLAGS 4 // Present flags
|
||||
|
||||
|
||||
/* Longueur des champs de l'en-tête radiotap (octets) */
|
||||
#define RTAP_L_HREVISION 1 // Header revision
|
||||
#define RTAP_L_HPAD 1 // Header pad
|
||||
#define RTAP_L_HLENGTH 2 // Header length
|
||||
#define RTAP_L_PRESENTFLAGS 4 // Present flags
|
||||
#define RTAP_L_MACTS 8 // MAC timestamp (Time Synchronization Function Timer)
|
||||
#define RTAP_L_FLAGS 1 // autre champ de flags
|
||||
#define RTAP_L_RATE 1 // Data rate
|
||||
#define RTAP_L_CHANNEL 2 // Channel frequency
|
||||
#define RTAP_L_CHANNELTYPE 2 // Channel type
|
||||
#define RTAP_L_ANTENNASIGNALDBM 1 // SSI signal (dBm)
|
||||
#define RTAP_L_ANTENNANOISEDBM 1 // SSI noise (dBm)
|
||||
#define RTAP_L_ANTENNA 1 // Antenna number
|
||||
#define RTAP_L_FHSS 2 // Hop set and pattern for Frequency-Hopping Spread Spectrum
|
||||
#define RTAP_L_LOCKQUALITY 2 // Signal quality
|
||||
#define RTAP_L_TXATTENUATION 2 // Transmit power from max power
|
||||
#define RTAP_L_TXATTENUATIONDB 2 // Idem (dB)
|
||||
#define RTAP_L_TXATTENUATIONDBM 1 // Idem (dBm)
|
||||
#define RTAP_L_ANTENNASIGNALDB 1 // SSI signal (dB)
|
||||
#define RTAP_L_ANTENNANOISEDB 1 // SSI noise (dB)
|
||||
#define RTAP_L_FCS 4 // Frame Check Sequence
|
||||
//#define RTAP_L_CHANNELP // Extended channel info (non implémenté)
|
||||
//#define RTAP_L_EXT // Extension aux Present flags (non implémenté)
|
||||
|
||||
|
||||
/* Positions dans Present flags (et tableau 'check' des champs présents) */
|
||||
#define RTAP_MACTS 0
|
||||
#define RTAP_FLAGS 1
|
||||
#define RTAP_RATE 2
|
||||
#define RTAP_CHANNEL 3 // ainsi que RTAP_CHANNELTYPE
|
||||
#define RTAP_FHSS 4
|
||||
#define RTAP_ANTENNASIGNALDBM 5
|
||||
#define RTAP_ANTENNANOISEDBM 6
|
||||
#define RTAP_LOCKQUALITY 7
|
||||
#define RTAP_TXATTENUATION 8
|
||||
#define RTAP_TXATTENUATIONDB 9
|
||||
#define RTAP_TXATTENUATIONDBM 10
|
||||
#define RTAP_ANTENNA 11
|
||||
#define RTAP_ANTENNASIGNALDB 12
|
||||
#define RTAP_ANTENNANOISEDB 13
|
||||
#define RTAP_FCS 14
|
||||
//#define RTAP_CHANNELP 18
|
||||
//#define RTAP_EXT 31
|
||||
|
||||
|
||||
/* Variables globales */
|
||||
BOOL run ;
|
||||
|
||||
|
@ -174,17 +176,17 @@ unsigned long long timeval_to_ms(struct timeval date) ;
|
|||
unsigned long sub_date(struct timeval sup, struct timeval inf) ;
|
||||
BOOL mac_cmp(unsigned char *mac1, unsigned char *mac2) ;
|
||||
|
||||
// Signaux
|
||||
void sigint_handler(int num) ;
|
||||
void sigterm_handler(int num) ;
|
||||
|
||||
// Réseau
|
||||
int create_udp_listening_socket(int port) ;
|
||||
int create_udp_sending_socket(char *server_address, int server_port, struct sockaddr_in *server_description, struct sockaddr_in * client_description) ;
|
||||
int create_udp_listening_socket(int port) ;
|
||||
int iface_mode_monitor(char *iface) ;
|
||||
int iface_set_channel(char *iface, int channel) ;
|
||||
int iface_channel_hop(char *iface) ;
|
||||
|
||||
// Signaux
|
||||
void sigint_handler(int num) ;
|
||||
void sigterm_handler(int num) ;
|
||||
|
||||
|
||||
/* Macros */
|
||||
|
||||
|
|
Loading…
Reference in New Issue