Ich nehme an, Sie sind auf einem Linux-System. Sie können Socket-Statistiken über das Dienstprogramm ss
abrufen. Z.B. um alle Verbindungen zu Ihrem http oder https-Port auflistet, können Sie verwenden:
ss -t '(sport = :http or sport = :https)'
Sie weiter diese von IP filtern. Also lassen Sie uns sagen, Sie alle Verbindungen von der Remote-Adresse filtern möchten 1.2.3.4:
ss -t '(sport = :http or sport = :https)' dst 1.2.3.4
Jetzt Mapping Verbindungen zu Ist-Prozesse ist ein bisschen schwierig, wie traditionell, eine Verbindung durch ein Verfahren jeder behandelt worden. Aber das ist nicht immer der Fall. Sie können ss
Display die Hörprogramme mit dem p
Schalter wie so lassen:
ss -tp '(sport = :http or sport = :https)' dst 1.2.3.4
Sie werden feststellen, dass ss
in einer Linie diejenigen bequem ist die Auflistung, so können wir diese grep und die unique zählen:
ss -tp '(sport = :http or sport = :https)' dst 1.2.3.4 | grep users | sort | uniq | wc -l
Putting dies zusammen:
$count = exec(sprintf(
'ss -tp "(sport = :http or sport = :https)" dst %s | grep users | sort | uniq | wc -l',
escapeshellarg($remoteAddress)
));
danke für die Beantwortung, aber es zeigt Null. Das ist immer Null. –
Sorry, in den letzten beiden Beispielen wurde der 'p'-Parameter verpasst. – DaSourcerer
können Sie bitte den Code aktualisieren? –