Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zliczanie połączeń z portem
Forum PHP.pl > Forum > Przedszkole
-Nowy-
IP:PORT

Jak zliczyć ilość połączeń z danym PORTem?

Kolega mi napisał 'przez exec w php'

Tylko nie wiem troche o co chodzi haha.gif
Magic WWW
  1. // Ilość połączeń na porcie 80
  2. $count = shell_exec("netstat -an | grep \":80\" | grep ESTABLISHED | awk '{print $4\"t\"$5}' | sort -n -k1");


Ogólnie prawie na wszystkich hostingach jest zablokowana funkcja shell_exec. Polecam zapoznać się z podstawami PHP.
-Nowy-
Podstawy to coś co można znaleźć w internetowym kursie. Dla mnie to już coś bardziej zaawanowanego.

Dzięki za kod, ale i tak nie wiem co dalej z nim zrobić, przejrzałem manuala ale i tak nie wiem jak zwrócić wynik.
Magic WWW
Wklepujesz kod, który Ci podałem do swojego skryptu. Wynik zapisywany jest w zmiennej $count.

  1. // Wyświetlanie wyniku
  2. echo $count;
Gość
Czyli jeżeli zmienna jest pusta = nie ma żadnego połączenia na tym porcie tak?
Magic WWW
Tak. Dodam tylko, że to rozwiązanie działa tylko pod Linuxem, pod Windowsa troszeczkę inaczej to wygląda.

Rozwiązanie pod windowsa:
  1. // Wersja Win: Polska
  2. var_dump(shell_exec('netstat -a -n | find ":80" | find /C "USTANOWIONO"'));
  3.  
  4. // Wersja Win: Angielska
  5. var_dump(shell_exec('netstat -a -n | find ":80" | find /C "ESTAB"'));


Ogólnie zabawy jest z tym smile.gif
-Nowy-
Tak dla pewności..

Mam serwer dedykowany (IP XX.XX.XXX.X) zainstalowane apache i php.

Wgrywam sobie plik index.php

  1.  
  2. $count = shell_exec("netstat -an | grep \":11002\" | grep ESTABLISHED | awk '{print $4\"t\"$5}' | sort -n -k1");
  3.  
  4. echo $count;
  5.  


I otrzymuje liczbe połączeń z portem 11002 tak?

Jeśli zmienna jest pusta, oznacza to ze nie ma polaczen tak?

Sry, ale wole być pewny.
Magic WWW
Spróbuj wgrać coś takiego, nie mam Linuxa aktualnie dostępnego i pisałem polecenie (kilka postów wcześniej) na czuja.

  1. var_dump(shell_exec('netstat -an | find ":11002" | find /C "ESTABLISHED"'));


Problem może być z nazwą "ESTABLISHED", nie pamiętam jak tam linux traktował to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.