Предоставление команды ls
в приглашении сделает немного больше, чем просто вызов /bin/ls
. Если бы ls
был псевдонимом или функцией, вызывался бы этот псевдоним или функция. Если это не было ни тем, ни другим, и если это не было встроенным -в команде(ls
очень редко является встроенным -в команде ), тогда поиск пути был бы выполнен для ls
в каждом каталоге в список с разделителями:
-в переменной окружения $PATH
.
Будет выполнен ls
, который был первым , найденным в $PATH
. Потенциально это может быть ls
, а не /bin/ls
, если каталог, содержащий такое имя, находится раньше, чем /bin
, в списке $PATH
.
Использование /bin/sh
позволит обойти поиски псевдонимов и функций, а также любые поиски в $PATH
и вместо этого будет запускать эту команду напрямую.
Разница в цвете вывода между ls
и /bin/ls
, возможно, может быть объяснена тем, что ls
является псевдонимом, который добавляет дополнительные параметры командной строки при вызове утилиты ls
(проверьте с помощью alias ls
или type -a ls
в bash
).
Ядро управляет SYN/FIN/RST как частью протокола TCP, поэтому нет инструментов как таковых , которые создают поток TCP без его завершения.
Некоторые возможности
Напишите свой собственный код, который напрямую генерирует необработанные пакеты SYN и SYN/ACK
Используйте стандартный инструмент, но просто оставьте его в подвешенном состоянии, пока он больше не понадобится
nc remoteHost remotePort & # nc example.com 80
ncPID=$!
sleep 1
kill -STOP $ncPID
Используйте стандартный инструмент и внедрите правило брандмауэра, чтобы заблокировать поток перед его закрытием
nc remoteHost remotePort &
ncPID=$!
sleep 1
iptables -I OUTPUT --dst remoteHost --dport remotePort -j DROP
kill $ncPID
sleep 1
iptables -D OUTPUT --dst remoteHost --dport remotePort -j DROP