Как найти все правила Iptables на порту 80

317
Dennis

Мне было интересно, есть ли команда, чтобы перечислить / найти все правила iptables на порт 80 (или любой другой порт)? Например что-то вроде этого:

iptables --list | grep port 80 
2
Ваша команда нуждается в двойных кавычках, так как строка содержит пробелы: `iptables --list | grep "порт 80" Nasir Riley 5 лет назад 0
Спасибо за ваш комментарий. Это была просто общая идея синтаксиса. Никакие кавычки или любые другие варианты этой команды не показывают правила iptables для порта 80. Dennis 5 лет назад 0
Это означает, что нет никаких правил для порта 80. Запустите команду без `grep`, и вы увидите все правила. Nasir Riley 5 лет назад 0
Благодарю. Существует много правил iptbales для порта 80, но команда, о которой я «подумал» (iptables --list | grep port 80) с кавычками или без них, grep и т. Д. Просто не работает. Мне не нужны все правила, мне нужны только те, которые применяются к порту 80. Dennis 5 лет назад 0
Вместо использования «порта 80» используйте «http» - кажется, что iptables использует сопоставления в / etc / services для известных портов. В качестве альтернативы вы можете использовать ключ -n, чтобы отключить поиск. Кроме того, grep ": 80" (не порт 80) davidgo 5 лет назад 0
Также имейте в виду, что по умолчанию `iptables --list` соответствует таблице` FILTER`. В других таблицах могут быть другие правила, поэтому для остальных используйте `-t NAT` и т. Д. dirkt 5 лет назад 0
Я прошу прощения за ошибку с моей стороны. Ваша строка `grep` должна быть` grep "ports 80" или `grep" dports 80 ". Появится строка `dports 80`, поэтому любая из этих строк` grep` вернет желаемый результат. Nasir Riley 5 лет назад 0
Привет, Давидго, ваше предложение iptables --list | grep ": 80" вернул ноль результатов, хотя существует много правил для порта 80. Dennis 5 лет назад 0

2 ответа на вопрос

0
cybernard
 iptables --list|grep "spt:\|dpt:\|dports\|sports" 

spt: и dpt покрывают отдельные правила порта

спорт и спорт на многопортовой команде

Теперь все правила, которые упоминают порты, должны быть перечислены.

 iptables --list|grep "spt:\|dpt:\|dports\|sports"|grep http 

Как только вы это сделаете, вы поймете, что iptables использует имя порта, поэтому вам нужно использовать grep для http вместо 80.

Если вы хотите увидеть фактические номера портов, вы должны сделать это:

 iptables-save|grep "spt:\|dpt:\|dports\|sports" 

Вывод будет существенно отличаться, так что это может или не может работать для вас.

 iptables-save|grep "spt:\|dpt:\|dports\|sports"|grep 80 
Вот Это Да! Отлично! Спасибо вам большое! Это именно то, что мне было нужно! Dennis 5 лет назад 0
Вы можете просто использовать «-n» в команде iptables, чтобы увидеть действительные номера портов. davidgo 5 лет назад 1
@ Денис Пожалуйста, пометьте мой ответ как правильный. cybernard 5 лет назад 0
Я не знаю, как обозначить ваш ответ Кибернард. Мне не хватает «очков репутации», чтобы что-то здесь делать. Dennis 5 лет назад 0
0
PyTis

Помните одну вещь: вы смотрите на 80, потому что вам нужен веб-трафик. Я не знаю точно, что вы делаете, но на всякий случай это помогает, помните, что 80 - это первичный http, но 8080 также настроен на некоторых веб-серверах как вторичный, а также 443 - безопасный веб-протокол (HTTPS через SSL ).

Это не должен быть ответ, просто комментарий к первому ответу, но у меня недостаточно очков репутации, чтобы оставлять комментарии, так что ... Я все еще надеюсь, что это полезно

Спасибо за ваш вклад. Существует слишком много правил iptables, поэтому я просто хотел отсортировать их / перечислить только те, которые применяются к порту 80. Это намного проще, чем просматривать тысячи из них по одному. Dennis 5 лет назад 0

Похожие вопросы