12 Εργαλεία διακομιστή μεσολάβησης HTTP και εντοπισμού σφαλμάτων Web

Μία από τις βασικές δεξιότητες για έναν προγραμματιστή και τον sysadmin είναι ο εντοπισμός σφαλμάτων της εφαρμογής, του API ή των υπηρεσιών, και η γνώση των σωστών εργαλείων είναι σωτήρια.

Τι είναι ο εντοπισμός σφαλμάτων;

Εάν παρακολουθείτε εγκληματικά δράματα, τότε η ιδέα πίσω από τον εντοπισμό σφαλμάτων δεν θα σας είναι ξένη. Ο εντοπισμός σφαλμάτων είναι μια διαδικασία και περιλαμβάνει πολλές τακτικές. Είναι η συστηματική εύρεση και επίλυση προβλημάτων και λαθών μέσα σε ένα πρόγραμμα.

Επιπλέον, ο εντοπισμός σφαλμάτων επιλύει όλα τα ζητήματα που μπορούν να εμποδίσουν τη σωστή λειτουργία του λογισμικού ή, σε αυτήν την περίπτωση, της εφαρμογής Ιστού. Η διαδικασία εντοπισμού σφαλμάτων του API ή της εφαρμογής ιστού σας περιλαμβάνει κυρίως μια προσπάθεια αναπαραγωγής του προβλήματος.

Κατά συνέπεια, προκύπτει η ανάγκη αποστολής ενός αιτήματος API. Τώρα, εδώ βρίσκεται το πρόβλημα. Τα περισσότερα προγράμματα περιήγησης θα σας εμποδίσουν να αλλάξετε την κεφαλίδα προέλευσης, ακόμη και τα όρια στο μέγεθος της διεύθυνσης URL.

Με άλλα λόγια, για να αναπαραγάγετε το ζήτημα, ίσως χρειαστεί να εκτελέσετε ορισμένους χειρισμούς HTTP. Και αυτό θα απαιτήσει κάποια ισχυρά εργαλεία εντοπισμού σφαλμάτων.

Όλα τα στοιχεία ή οι τακτικές της διαδικασίας εντοπισμού σφαλμάτων περιλαμβάνουν:

  • Διαδραστικός εντοπισμός σφαλμάτων
  • Ανάλυση ροής ελέγχου
  • Δοκιμή μονάδας
  • Δοκιμή ενσωμάτωσης
  • Ανάλυση αρχείου καταγραφής
  • Παρακολούθηση
  • Χωματερές μνήμης
  • Προφίλ

Είναι ενδιαφέρον να γνωρίζουμε ότι ορισμένοι πελάτες HTTP, π.χ. προγράμματα περιήγησης ιστού, διαθέτουν ενσωματωμένα εργαλεία προγραμματιστή ιστού. Αυτά τα εργαλεία μπορούν να χρησιμοποιηθούν για τον εντοπισμό σφαλμάτων API. Έχοντας αυτό υπόψη, δεν είναι απαραίτητο να γράψετε το εργαλείο εντοπισμού σφαλμάτων.

Τι είναι το HTTP Client;

Ας υποθέσουμε ότι σκέφτεστε να δημιουργήσετε ένα σύστημα που αξιοποιεί το πρωτόκολλο HTTP για κατανεμημένη επικοινωνία ή με γνώση HTTP, όπως μια εφαρμογή Ιστού. Στη συνέχεια, μπορεί να θέλετε να εξετάσετε το στοιχείο πελάτη HTTP.

Το HTTP ή το πρωτόκολλο μεταφοράς υπερκειμένου, είναι ο λόγος που μπορείτε να επικοινωνείτε ή να μεταφέρετε δεδομένα στον ιστό, κάθε φορά που πληκτρολογείτε μια διεύθυνση URL. Είναι ένα πρωτόκολλο εφαρμογής που καθιστά δυνατή την περιήγηση στο διαδίκτυο.

  Θυμόμαστε το GeoCities, τον πρόδρομο της δεκαετίας του 1990 στα μέσα κοινωνικής δικτύωσης

Τώρα, ο πελάτης HTTP είναι ένα σύστημα που στέλνει αιτήματα σε έναν διακομιστή σε μορφή κειμένου HTTP και με τη σειρά του λαμβάνει μια απάντηση από τον ίδιο διακομιστή.

Είναι σημαντικό να γνωρίζετε τις διαφορές μεταξύ ενός πελάτη HTTP και του διακομιστή HTTP.

Διαφορές μεταξύ πελάτη HTTP και διακομιστή

Ενώ ο πελάτης HTTP είναι συχνά προγράμματα περιήγησης ιστού ή βοηθητικό πρόγραμμα, οι διακομιστές HTTP λειτουργούν ως διακομιστές μεσολάβησης σε διακομιστές εφαρμογών.

Με πιο απλά λόγια, τα smartphone, οι τηλεοράσεις, το PlayStation, πραγματικά οποιαδήποτε συσκευή που μπορεί να συνδεθεί στο διαδίκτυο, πιθανότατα χρησιμοποιεί έναν πελάτη HTTP.

Ομοίως, ο διακομιστής HTTP είναι ο υπολογιστής δικτύου στον οποίο συνδέεται ο πελάτης HTTP. Η σχέση που μοιράζονται είναι περισσότερο συνομιλητική. Όπου ο πελάτης HTTP στέλνει ένα αίτημα και ο διακομιστής HTTP ανταποκρίνεται.

Παραδείγματα αιτημάτων HTTP

Αιτήσεων
Αποτελέσματα
ΠΑΙΡΝΩ
Ζητάει ολόκληρο τον πόρο
ΚΕΦΑΛΙ
Ζητάει πόρους χωρίς το σώμα
ΘΕΣΗ
Προσθέτει περιεχόμενο σε έναν υπάρχοντα πόρο ιστού
ΒΑΖΩ
Τροποποιεί έναν υπάρχοντα πόρο ιστού
ΔΙΑΓΡΑΦΩ
Καταργεί έναν καθορισμένο πόρο
ΙΧΝΟΣ
Εμφανίζει τις αλλαγές σε έναν πόρο Ιστού
ΕΠΙΛΟΓΕΣ
Εμφανίζει τις διαθέσιμες μεθόδους HTTP για τη διεύθυνση URL
ΣΥΝΔΕΩ-ΣΥΩΔΕΟΜΑΙ
Μετατρέπει τη σύνδεση αιτήματος σε μια διαφανή σήραγγα TCP/IP
ΚΗΛΙΔΑ
Τροποποιεί εν μέρει έναν πόρο Ιστού

Ο εντοπισμός σφαλμάτων στον Ιστό δεν ήταν ποτέ ευκολότερος. Με αυτά τα εργαλεία, μπορείτε επιτέλους να χαλαρώσετε ενώ κάνετε αυτό που σας αρέσει.

HTTPie

Ο απώτερος στόχος του HTTPie είναι να γίνει η αλληλεπίδραση CLI με τις υπηρεσίες web φιλική διεπαφή χρήστη. Αυτό το εργαλείο παρέχει μια εντολή HTTP για την αποστολή αιτημάτων, όλα με τη χρήση φυσικής σύνταξης.

Το HTTPie μπορεί να χρησιμοποιηθεί για εντοπισμό σφαλμάτων, δοκιμή και σύνδεση με διακομιστές HTTP. Υποστηρίζει HTTP, HTTPS και διακομιστές μεσολάβησης.

Καλύτερες στιγμές

  • Ενσωματωμένο σύστημα υποστήριξης JSON
  • Μπορεί να εγκατασταθεί σε Windows, macOS και Linux
  • Προσαρμοσμένες κεφαλίδες και μέθοδος HTTP
  • Υποβολή εντύπων
  • Λειτουργία εκτός σύνδεσης
  • Βασικός έλεγχος ταυτότητας και σύνοψη
  • Διαισθητική σύνταξη

Δεν θέλετε να εγκαταστήσετε το HTTPie τοπικά;

Μην ανησυχείτε, τώρα μπορείτε να το εκτελέσετε Σε σύνδεση.

Βιολιτζής

Βιολιτζής είναι ένας διακομιστής εντοπισμού σφαλμάτων ιστού σε πολλές πλατφόρμες. Μπορεί να βοηθήσει στο χειρισμό των περιόδων σύνδεσης ιστού, στην επιθεώρηση της κυκλοφορίας HTTPS και στην παρακολούθηση της κυκλοφορίας μεταξύ του υπολογιστή σας και του Διαδικτύου.

  Πώς να διορθώσετε το μήνυμα της μπαταρίας υπηρεσίας σε MacBook

Μπορείτε να εγκαταστήσετε το Fiddler σε Windows, macOS και Linux. Είναι ίσως το πιο δημοφιλές εργαλείο για τον εντοπισμό σφαλμάτων της κυκλοφορίας.

RESTer

RESTer είναι διαθέσιμη ως επέκταση για Google Chrome και Firefox.

Καλύτερες στιγμές

  • Κεφαλίδες εξουσιοδότησης με έλεγχο ταυτότητας Basic ή Auth2
  • Προβολή ιστορικού αιτημάτων
  • Εκτελέστε αιτήματα με οποιαδήποτε μέθοδο, διεύθυνση URL, σώμα και προσαρμοσμένες κεφαλίδες
  • Δοκιμή και εντοπισμός σφαλμάτων API

Πόδι ζώου

Πόδι ζώου είναι ένας πελάτης HTTP με πλήρεις δυνατότητες, ο οποίος σας επιτρέπει να στέλνετε όλα τα είδη αιτημάτων HTTP. Με το Paw, μπορείτε να δοκιμάσετε τα API σας και επίσης να εξερευνήσετε νέα.

Το Paw είναι αποκλειστικά κατασκευασμένο για macOS και διαθέτει χαρακτηριστικά που είναι εύχρηστα. Μπορείτε να εισάγετε και να δημιουργήσετε swagger, RAML κ.λπ. και υποστηρίζει σχήμα JSON.

Καλύτερες στιγμές

  • Υποστηρίζει πολλαπλούς ελέγχους ταυτότητας όπως basic, OAuth, hawk, digest
  • Δυναμικές αξίες
  • Περιβάλλοντα
  • Επέκταση μέσω επεκτάσεων που βασίζονται σε java script
  • Cookies και χειρισμός συνεδρίας

Αιτητής

Αιτητής είναι ένας ισχυρός πελάτης που συνδυάζει τις δυνατότητες των HTTPie, Postman και Paw. Λειτουργεί μόνο με τον επεξεργαστή Sublime Text.

Καλύτερες στιγμές

  • Υποστηρίζει JSON Schemer
  • Ζητήστε συλλογές και ιστορία
  • Έγχρωμη έξοδος με επισήμανση σύνταξης
  • Σύγχρονο UX
  • Τα cookie, οι προσαρμοσμένες κεφαλίδες, το σώμα αιτήματος και οι παράμετροι ερωτήματος είναι εύκολο να οριστούν.
  • Υποστήριξη GraphQL

Ταχυδρόμος

Δουλεύετε πάντα σε API;

Θα ερωτευτείς τον Ταχυδρόμο.

Ταχυδρόμος είναι αναμφισβήτητα ένας από τους πιο δημοφιλείς πελάτες HTTP που χρησιμοποιούνται για τον εντοπισμό σφαλμάτων σε εφαρμογές web. Επιτρέπει την ταχύτερη και ευκολότερη ανάπτυξη API.

Καλύτερες στιγμές

  • Συσκευάζει ένα ισχυρό GUI, με φιλική προς το χρήστη διεπαφή
  • Ιστορικό αιτημάτων
  • Αυτοματοποιημένη δοκιμή με δρομέα συλλογής
  • Ευέλικτη παρακολούθηση API
  • Υποστήριξη REST, GraphQL, SOAP
  • Υποστήριξη πολλαπλών ωφέλιμων φορτίων, συμπεριλαμβανομένων JSON και HTML

μπούκλα

Το cURL είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για την αποστολή δεδομένων χρησιμοποιώντας σύνταξη URL.

Το καλό είναι ότι το cURL είναι από προεπιλογή εγκατεστημένο στα περισσότερα λειτουργικά συστήματα με γεύση UNIX. Υποστηρίζει πολλά πρωτόκολλα, συμπεριλαμβανομένων των FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS και SCP.

Charles Proxy

Όπως λέει και το όνομα, πληρεξούσιος Charles είναι HTTP και αντίστροφος διακομιστής μεσολάβησης. Λειτουργεί δρομολογώντας την τοπική κυκλοφορία μέσω αυτού.

  Τι σημαίνει "OP" στο Διαδίκτυο και πώς το χρησιμοποιείτε;

Μπορείτε να χρησιμοποιήσετε τον Charles για διακομιστή μεσολάβησης SSL, περιορισμό εύρους ζώνης, εντοπισμό σφαλμάτων AJAX, σημεία διακοπής και άλλα.

Σφυρίζω

Σφυρίζω είναι ένα εργαλείο εντοπισμού σφαλμάτων μεταξύ πλατφορμών που βασίζεται σε NodeJS για τη λήψη και τον χειρισμό της κυκλοφορίας HTTP, HTTPS, WebSocket και TCP.

Πρώτα, πρέπει να εγκαταστήσετε το NodeJS και μετά το Whistle χρησιμοποιώντας npm.

npm install -g whistle

Μπορείτε πάντα να επεκτείνετε τις δυνατότητες με την προσθήκη, εάν οι προεπιλεγμένες λειτουργίες δεν ανταποκρίνονται στις απαιτήσεις σας.

mitmproxy

mitmproxy είναι ένας δημοφιλής διακομιστής μεσολάβησης HTTPS ανοιχτού κώδικα μεταξύ των ερευνητών ασφάλειας. Χρησιμοποιήστε το ως CLI, web ή Python API.

Η διεπαφή ιστού σάς δίνει την εμφάνιση και την αίσθηση των εργαλείων προγραμματιστών του Chrome. Υποστηρίζει και HTTP/2.

πληρεξούσιος

Παρόμοια με το προαναφερθέν Paw, πληρεξούσιος είναι μια premium εγγενής εφαρμογή διακομιστή μεσολάβησης για εντοπισμό σφαλμάτων ιστού macOS.

Λειτουργεί ως άνθρωπος στη μέση για την κυκλοφορία ιστού και προσφέρει πολλές δυνατότητες, συμπεριλαμβανομένων των παρακάτω.

  • SSL proxy
  • Επαναλάβετε αιτήματα
  • Protobuf
  • Επανεγγραφή σεναρίου
  • Τοπικός και απομακρυσμένος χάρτης
  • Φιλτράρισμα περιεχομένου
  • Επισήμανση σύνταξης

Το Proxyman UI είναι πολύ φιλικό προς τον άνθρωπο.

HTTP Toolkit

HTTP Toolkit είναι ένα πρόγραμμα εντοπισμού σφαλμάτων HTTP ανοιχτού κώδικα. Είναι μια εφαρμογή επιφάνειας εργασίας διαθέσιμη για Windows, Mac και Linux.

Σε αντίθεση με άλλα προγράμματα εντοπισμού σφαλμάτων HTTP, το HTTP Toolkit παρέχει αυτόματα στοχευμένη υποκλοπή για συγκεκριμένους πελάτες, συμπεριλαμβανομένης της εγκατάστασης HTTPS, αντί να παρεμποδίζει τα πάντα από ολόκληρο τον υπολογιστή σας και έτσι αποφεύγει την καταγραφή άσχετης επισκεψιμότητας ή τη διακοπή άλλων εφαρμογών.

Με ένα κλικ μπορείτε να υποκλέψετε τα παράθυρα του προγράμματος περιήγησης (συμπεριλαμβανομένου του Chrome, του Firefox και άλλων), τις γλώσσες υποστήριξης/scripting όπως Node.js, Python και PHP, οποιαδήποτε εργαλεία γραμμής εντολών, εφαρμογές Electron ή συσκευές και εξομοιωτές Android (συμπεριλαμβανομένων συστημάτων- υποκλοπή επιπέδου HTTPS).

Το HTTP Toolkit υποστηρίζει τυπικές λειτουργίες εντοπισμού σφαλμάτων HTTP, συμπεριλαμβανομένων σημείων διακοπής και επανεγγραφής της κυκλοφορίας HTTP(S), φιλτραρίσματος και αναζήτησης συλλεγμένης κυκλοφορίας και επισήμανσης και αυτόματης μορφοποίησης για πολλές δημοφιλείς μορφές σώματος αιτημάτων και απαντήσεων. Οι βασικές λειτουργίες για υποκλοπή, επιθεώρηση και επανεγγραφή HTTP(S) είναι όλες διαθέσιμες δωρεάν, ενώ ορισμένες προηγμένες λειτουργίες premium, όπως η εισαγωγή/εξαγωγή και οι αυτοματοποιημένοι ψευδείς κανόνες απαιτούν λογαριασμό επί πληρωμή.

συμπέρασμα

Οι παραπάνω πελάτες HTTP και ο διακομιστής μεσολάβησης εντοπισμού σφαλμάτων ιστού μπορούν να σας βοηθήσουν με πολλούς τρόπους. Τα περισσότερα από αυτά είναι δωρεάν ή προσφέρουν μια δοκιμή, επομένως δοκιμάστε μερικά από αυτά για να δείτε τι λειτουργεί για εσάς.

Καλή αντιμετώπιση προβλημάτων!