imprimante ipp fait référence à une imprimante qui utilise le protocole ipp. IPP signifie « Internet Printing Protocol » et est un protocole réseau standard pour l'impression sur Internet. Le protocole IPP permet aux utilisateurs de gérer les imprimantes connectées à Internet et d'envoyer des travaux d'impression aux imprimantes hôtes en ligne ; les utilisateurs peuvent contrôler divers paramètres tels que le type de papier et la résolution utilisés pour les produits imprimés via des interfaces appropriées.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
imprimante ipp fait référence à une imprimante qui utilise le protocole ipp.
IPP signifie « Internet Printing Protocol » et comme son nom l'indique, ce protocole permet aux utilisateurs de gérer les imprimantes connectées à Internet et d'envoyer des travaux d'impression à des imprimantes hôtes en ligne. La différence entre IPP et de nombreux autres protocoles de gestion d'imprimante réside dans le fait qu'IPP est un protocole de sécurité qui prend en charge des fonctionnalités avancées telles que les listes de contrôle d'accès, l'authentification et les communications cryptées. Toutefois, cela ne signifie pas que le propriétaire de l'appareil utilise ces fonctionnalités.
Wireshark capture l'analyse des paquets de données et analyse le nom du fichier d'impression, le fichier, le port IP, le nom d'utilisateur
1. Description du protocole
Internet Printing Protocol (IPP ; InternetPrintingProtocol) est un protocole réseau standard pour l'impression sur Internet. Il permet aux utilisateurs d'imprimer à distance et de gérer les travaux d'impression via Internet. Les utilisateurs peuvent contrôler divers paramètres tels que le type de papier et la résolution utilisés pour les produits imprimés via des interfaces pertinentes ;
IPP utilise la méthode HTTP POST du protocole de transfert hypertexte pour mener des conversations entre le client et le serveur d'impression. Décrits par le modèle objet impliqué dans le protocole IPP, il existe trois types d'objets :
L'objet Imprimante, qui encapsule le périphérique d'impression, et tous les services d'impression réels sont complétés par cet objet.
Objet Job, qui encapsule un travail d'impression composé d'un ou plusieurs fichiers.
L'objet planifié encapsule le mécanisme de notification, qui déclenchera des notifications lorsque l'état des objets de travail et d'imprimante change.
Pour le client, deux types de messages peuvent être envoyés via le protocole IPP : des messages pour interroger l'état de l'imprimante et des messages pour soumettre des tâches d'impression. En même temps, le client peut également recevoir des notifications du serveur d'impression ;
Méthode de communication
2. Analyse du flux de données TCP
Le client et le serveur s'appuient tous deux sur la transmission du protocole HTTP, et la couche d'opération est Interact dans le format inhérent du corps du message des requêtes et des réponses HTTP (voir 3Structure du message pour plus de détails
(1) Impression d'un document uniqueprint-job : le client souhaite soumettre) ; un travail d'impression qui ne contient qu'un seul document. Les données du document seront envoyées avec la demande. (2) Impression de plusieurs documents
Créer un travail : le client souhaite soumettre un travail d'impression contenant plusieurs documents. Les documents sont envoyés à l'aide des opérations send-document et send-uri.
Envoyer un document : le client souhaite ajouter le document à un travail d'impression créé à l'aide de l'opération de travail d'impression. Les données du document seront envoyées avec la demande.
print-job : Le client souhaite soumettre un travail d'impression qui ne contient qu'un seul document. Les données du document seront envoyées avec la demande.
3. Structure du message
3.1 Encodage de la demande d'opération et de la réponse
----------------------------- --- ----------------
| Numéro de version | Nécessite 2 octets
---------- --- -----------------------------------------
| ID d'opération (demande) ou |
| Code d'état (réponse) | Nécessite 2 octets
---------------------------------------- - -----------------------
| ID de demande | Nécessite 4 octets
-------------- - --------------------------------------
| Groupe d'attributs (0 ou plus)
------------------------------------------------ ------------
| Balise de fin d'attribut | 1 octet
--------------- - ---------------------------
| Données ------------------- -------------------------------
Quatrième Le premier champ est le champ "groupe d'attributs", qui permet 0 ou plus événements. Chaque champ « groupe de propriétés » représente un ensemble unique de propriétés, tel qu'un groupe de propriétés d'opération ou un groupe de propriétés de tâche (voir modèle de document). Le fichier modèle IPP spécifie l'ensemble d'attributs requis et leur ordre pour chaque demande et réponse d'opération.
Le champ "End Tag" est toujours présentmême lorsque les "données" n'existent pas. Le document modèle précise si le champ « data » est présent pour chaque demande et réponse d'opération.
3.2 Groupe d'attributs-------------------------------------------------- ---------------
| Balise de début du groupe d'attributs | 1 octet
----------------------- - --------------------------------
|
Attributs---------------- --------------------------------------- ----Le "Début du groupe d'attributs Le champ "Tag" marque le début d'un groupe d'attributs et sa valeur identifie le
type du groupe d'attributs. Comme un
groupe d'attributs d'opération et un groupe d'attributs de travail. La « balise de début du groupe d'attributs » marque également la fin du groupe d'attributs précédent, sauf s'il s'agit du premier groupe d'attributs de la demande ou de la réponse. Le champ « Balise de début d'attribut » sert de terminaison d'un « Groupe d'attributs » car un champ « Groupe d'attributs » ne peut pas être imbriqué dans un autre champ « Groupe d'attributs ». Un champ de groupe de propriétés contient zéro ou plusieurs champs « propriété ». Remarque : le champ « Balise de début du groupe d'attributs » et le champ « Balise de fin du groupe d'attributs » sont appelés « balises de délimiteur ». 3.3 Attributs Le champ "attribut" est codé comme suit : ----------------------------- --- ----------------------- | Attribut à valeur unique | --------------- --------------------------- | Sections (0 ou plus) -------- --------------------------------------------- ---------- --- Lorsqu'un attribut est à valeur unique (comme la valeur 10 pour "Copie") ou à valeurs multiples mais ne prend qu'une seule valeur (comme "Support Multiple" ne prend que la valeur "Unilatéral"), dans lequel Dans ce cas, il est uniquement codé avec le champ « Attribut de valeur unique ». Lorsqu'un attribut est à valeurs multiples et prend n valeurs (par exemple, « support multipartite » prend les valeurs « unilatérale » et « limite longue bilatérale »), il est codé avec un champ « valeur unique d'attribut » , suivi de n-1 champ "valeurs supplémentaires". ------------------------------------ ------------ ------------------ | Balises de valeur | 1 octet ---------- ---------- --------------------------------- | Longueur du nom de la clé (unité ) | Festival à 2 personnages-------------------------------------- ----------- ------- | ----------------------- | longueur (unité v) | 2 octets ------------- ------------------------------ -------------------- | Valeur voctets ------------------ ----------------------------- ------------ "L'attribut à valeur unique" est codé par cinq champs : Le champ "étiquette de valeur" spécifie la syntaxe de l'attribut, par exemple, utilisez ”. Le champ « Longueur du nom » spécifie la longueur du champ « Nom » en octets, par exemple u ou 15 dans la figure ci-dessus signifie que le nom est « Prise en charge multi-parties ». Le champ "Valeur" contient les attributs de la valeur, comme la valeur texte "One Side". Valeur ajoutée de 3,5 --------------------------------------- ------ --------------- | Balises de valeur | 1 octet ------------------ ------- ---------------------------------- | Longueur du nom (unité 0x0000) | 2 octets ---------------------------------- ------------- ----------- | Longueur de la valeur (unité w) | 2 octets ---------- ---------------- ---------------------------------- | Valeurs | woctets ----- -------------------------------- ------------------ La valeur ajoutée est codée à l'aide de 4 champs : Le champ "étiquette de valeur" précise la syntaxe de l'attribut, par exemple, 0x44 indique le syntaxe d'attribut "mot-clé". Le champ « Longueur du nom » peut prendre la valeur 0 pour indiquer qu'il s'agit d'une « valeur ajoutée ». La valeur du champ "longueur du nom" distingue le champ "valeur ajoutée" ("la longueur du nom" est 0) du champ "attribut à valeur unique" ("la longueur du nom" n'est pas 0) . Le champ "value length" précise la longueur du champ "value" en octets. Comme le montre la figure ci-dessus, w ou 19 représente la valeur "longue limite des deux côtés". Le champ "valeur" contient l'attribut de la valeur, tel que la valeur de texte "Limite longue des deux côtés". 4. Paramètres de structure Connaissances étendues : 80 000 imprimantes sont exposées en ligne via IPP chaque jour Les experts de Shadowserver ont déclaré avoir spécialement analysé Internet à la recherche d'imprimantes dotées de fonctions IPP. restent exposés sans protection par pare-feu et permettent aux attaquants d'interroger les détails locaux via la fonction « Obtenir les propriétés de l'imprimante ». Une analyse normale à l'aide du moteur de recherche BinaryEdge montre qu'en moyenne environ 80 000 imprimantes sont découvertes via les ports IPP et que ces imprimantes sont exposées en ligne chaque jour. Exposer les ports IPP sans aucune autre protection de sécurité (telle que des pare-feu ou des mécanismes d'authentification) peut causer de nombreux problèmes. Par exemple, les experts de Shadowserver affirment que ce port peut être utilisé pour recueillir des renseignements : car une grande proportion d'imprimantes compatibles IPP (telles que le nom de l'imprimante, l'emplacement, le modèle, la version du micrologiciel, le nom de l'organisation et même le nom du réseau WiFi) renvoient informations les concernant Informations supplémentaires, un attaquant peut collecter ces informations puis utiliser ces informations pour examiner le réseau de l'entreprise afin de faciliter de futures attaques. De plus, un quart des imprimantes compatibles IPP (environ 21 000 unités) ont également révélé des détails sur leur conception et leur fabrication. L'exposition de ces informations permet apparemment aux attaquants de trouver plus facilement des groupes d'appareils vulnérables spécifiques. Le problème, c'est que les outils de piratage IPP sont également disponibles en ligne. Des programmes tels que PRET (Printer Operations Toolkit) prennent en charge le piratage IPP et ont été utilisés dans le passé pour détourner et forcer les imprimantes à imprimer divers messages promotionnels, voire même à prendre entièrement le contrôle d'un appareil vulnérable. La Shadowserver Foundation a déclaré qu'elle prévoyait de publier à l'avenir des rapports quotidiens sur l'exposition aux IPP sur son site Web. "Nous espérons que le partage des données des appareils IPP dans notre nouvel espace ouvert réduira le nombre d'imprimantes compatibles IPP exposées et sensibilisera davantage aux dangers liés à l'exposition de ces appareils à des scanners/attaquants non authentifiés. Reconnaître les entreprises ou les équipes nationales CERT qui s'abonnent." aux alertes de sécurité organisationnelles recevront des notifications automatiques lorsque des services IPP sont exposés en ligne dans le réseau et l'espace d'adresse IP du pays. Les recommandations prospectives de la Shadowserver Foundation concernant la gestion des appareils exposés à Internet sont cohérentes avec les recherches universitaires de l'année dernière, qui ont révélé que les retraits DDoS sont souvent inefficaces et que les forces de l'ordre devraient se concentrer sur la mise à jour des systèmes pour limiter les attaquants. Il est également recommandé aux utilisateurs de lire le manuel de l'imprimante pour configurer les fonctions de contrôle d'accès IPP et d'authentification IPP afin de protéger l'imprimante avant qu'elle ne soit exploitée. La plupart des imprimantes du panneau de gestion disposent d'une section de configuration IPP à partir de laquelle les utilisateurs peuvent activer l'authentification, le cryptage et l'authentification. restreindre l'accès aux appareils via des listes d'accès. Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
//属性值;
struct _ipp_attr_value{
char type;//属性类型
short len;//值长度
std::string value;//值内容
};
//一个属性包括一个属性名name,零个或者多个属性值;
typedef struct _ipp_attr{
std::string name;//属性名称
std::vector<_ipp_attr_value *> values;//一个或者多个属性值
}IPP_ATTR;
//一个属性组包括一个组TAG,零个或者多个属性;
struct _ipp_attr_seq{
char seq;//属性组类型
std::vector<IPP_ATTR *> attr;//一个或者多个属性
};
typedef struct _ipp{
int data_left;//移动剩下的数据长度
short version;//版本号
union{
short int operation;//操作码
short int response;//响应码
};
int request_id;//请求ID
//零个或者多个属性组
std::vector<_ipp_attr_seq *> seqs;// 一个或者多个属性组
}IPP;
IPP *m_ipp;//IPP结构
short int m_bufptr;//记录buf移动位置
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!