Netstat (Network Statistics) to narzędzie wiersza poleceń, które dostarcza informacji o połączeniach sieciowych, trasach routingu, statystykach interfejsów i innych aspektach sieci. Jest używane do diagnozowania problemów sieciowych i monitorowania aktywności sieciowej.
Funkcje Netstat
- Wyświetlanie aktywnych połączeń: Netstat pokazuje listę wszystkich aktywnych połączeń TCP, UDP oraz UNIX.
- Informacje o portach: Można uzyskać informacje o otwartych portach oraz tych, które nasłuchują.
- Statystyki protokołów: Netstat dostarcza statystyki dla różnych protokołów, takich jak TCP, UDP, ICMP.
- Trasy routingu: Narzędzie pokazuje tablicę routingu, co jest przydatne do analizy tras pakietów w sieci.
- Interfejsy sieciowe: Netstat wyświetla statystyki dla interfejsów sieciowych, takie jak liczba wysłanych i odebranych pakietów.
Przykłady użycia Netstat
- Wyświetlenie wszystkich połączeń i portów:
netstat -a
- Wyświetlenie tylko połączeń TCP:
netstat -at
- Wyświetlenie tylko połączeń UDP:
netstat -au
- Wyświetlenie portów nasłuchujących:
netstat -l
Implementacja Netstat w PHP
Aby zaimplementować funkcjonalność Netstat w PHP, można użyć funkcji exec()
do wykonania polecenia systemowego i przetworzenia wyników. Poniżej znajduje się przykładowy kod PHP:
<?php
// Funkcja do wykonania polecenia Netstat i zwrócenia wyników
function getNetstatOutput() {
// Wykonanie polecenia Netstat
$output = [];
exec('netstat -a', $output);
// Przetworzenie wyników
$connections = [];
foreach ($output as $line) {
// Podział linii na kolumny
$columns = preg_split('/\s+/', $line);
if (count($columns) >= 6) {
$connections[] = [
'Proto' => $columns[0],
'Local Address' => $columns[3],
'Foreign Address' => $columns[4],
'State' => $columns[5]
];
}
}
return $connections;
}
// Wywołanie funkcji i wyświetlenie wyników
$netstatData = getNetstatOutput();
echo '<pre>';
print_r($netstatData);
echo '</pre>';
?>
Ten kod wykonuje polecenie netstat -a
, przetwarza wyniki i wyświetla je w czytelnej formie. Możesz dostosować ten kod do swoich potrzeb, np. filtrować wyniki lub formatować je w inny sposób.
Oto dwa dodatkowe przykłady implementacji funkcji Netstat w PHP:
Przykład 1: Wyświetlanie połączeń TCP
Ten przykład pokazuje, jak wyświetlić tylko połączenia TCP za pomocą Netstat i PHP.
<?php
// Funkcja do wykonania polecenia Netstat dla połączeń TCP
function getTcpConnections() {
// Wykonanie polecenia Netstat dla połączeń TCP
$output = [];
exec('netstat -at', $output);
// Przetworzenie wyników
$connections = [];
foreach ($output as $line) {
// Podział linii na kolumny
$columns = preg_split('/\s+/', $line);
if (count($columns) >= 6) {
$connections[] = [
'Proto' => $columns[0],
'Local Address' => $columns[3],
'Foreign Address' => $columns[4],
'State' => $columns[5]
];
}
}
return $connections;
}
// Wywołanie funkcji i wyświetlenie wyników
$tcpConnections = getTcpConnections();
echo '<pre>';
print_r($tcpConnections);
echo '</pre>';
?>
Przykład 2: Wyświetlanie portów nasłuchujących
Ten przykład pokazuje, jak wyświetlić porty nasłuchujące za pomocą Netstat i PHP.
<?php
// Funkcja do wykonania polecenia Netstat dla portów nasłuchujących
function getListeningPorts() {
// Wykonanie polecenia Netstat dla portów nasłuchujących
$output = [];
exec('netstat -l', $output);
// Przetworzenie wyników
$ports = [];
foreach ($output as $line) {
// Podział linii na kolumny
$columns = preg_split('/\s+/', $line);
if (count($columns) >= 6) {
$ports[] = [
'Proto' => $columns[0],
'Local Address' => $columns[3],
'Foreign Address' => $columns[4],
'State' => $columns[5]
];
}
}
return $ports;
}
// Wywołanie funkcji i wyświetlenie wyników
$listeningPorts = getListeningPorts();
echo '<pre>';
print_r($listeningPorts);
echo '</pre>';
?>
Te przykłady pokazują, jak można użyć PHP do wykonania różnych poleceń Netstat i przetworzenia wyników w czytelnej formie.
Komentarze
Prześlij komentarz