Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak używać programu Wireshark do wyraźnego przechwytywania zapytania mysql sql?

Możesz użyć tshark i zapisać do pcap lub po prostu wyeksportować pola, które Cię interesują.

Aby zapisać do PCCap (jeśli chcesz użyć programu Wireshark do przeglądania później):

tshark -i lo -Y "mysql.command==3" -w outputfile.pcap
tshark -i lo -R "mysql.command==3" -w outputfile.pcap
-R is deprecated for single pass filters, but it will depend on your version
-i is interface so replace that with whatever interface you are using (e.g -i eth0)

Aby zapisać do pliku tekstowego:

tshark -i lo -Y "mysql.command==3" -T fields -e mysql.query > output.txt

Możesz również użyć filtrów BPF z tcpdump (i filtrów wstępnych Wireshark). Są bardziej złożone, ale mniej obciążają system, jeśli przechwytujesz duży ruch.

sudo tcpdump -i lo "dst port 3306 and  tcp[(((tcp[12:1]&0xf0)>>2)+4):1]=0x03" -w outputfile.pcap

UWAGA:
*Wyszukuje 03 (podobne mysql.command==3) w ramach ładunku TCP.
**Ponieważ jest to dość luźny filtr, dodałem również 3306, aby ograniczyć się tylko do ruchu przeznaczonego dla tego portu.***Filtr jest oparty na zrzucie ekranu. W tej chwili nie mogę tego zweryfikować, więc daj mi znać, jeśli to nie działa.

Przykładowe dane wyjściowe:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Jak wstawić do tabeli, która ma relację wiele do wielu

  2. Nieprzechwycony wyjątek „PDOException” z komunikatem „SQLSTATE[HY093]:nieprawidłowy numer parametru”

  3. Zamów pozycje w MySQL według ustalonej listy?

  4. przygotowany wyciąg z Eloquent ORM / laravel

  5. MySQL - UPDATE zapytanie oparte na SELECT Query