В получении Вы, если, Эхо-ответ Метки времени в SYN-ACK во втором пакете не соответствует TSVal в SYN в первом пакете и является несколькими секундами позади.
И посмотрите, как все TSecr, отправленные и 173.194.70.108 и 209.85.148.100, являются всеми одинаковыми и не важными от TSVal, который Вы отправляете.
Похоже, что существует что-то, что смешивается с метками времени TCP. Я понятия не имею, что может вызывать это, но это кажется, что это вне Вашей машины. Перезагрузка маршрутизатора помогают в этом экземпляре?
Я не знаю, является ли это тем, что заставляет Вашу машину отправлять RST (на 3-м пакете). Но этому определенно не нравится тот SYN-ACK, и это - единственная вещь неправильно, я могу найти об этом. Единственное другое объяснение, о котором я могу думать, состоит в том, если это не Ваша машина, которая отправляет RST, но, учитывая разницу во времени между SYN-ACK и RST, относительно которого я сомневался бы так. Но на всякий случай, Вы используете виртуальные машины или контейнеры или сетевые пространства имен на этой машине?
Вы могли попытаться отключить метки времени TCP в целом, чтобы видеть, помогает ли это:
sudo sysctl -w net.ipv4.tcp_timestamps=0
Так, или те сайты отправляют поддельный TSecr или существует что-то на пути там (любой маршрутизатор на пути или прозрачный прокси), который искажает или выход TSVal или поступление TSecr или прокси с поддельным стеком TCP. Почему можно было бы исказить метки времени tcp, я могу только размышлять: ошибка, уклонение обнаружения проникновения, too-smart/bogus алгоритм формирования трафика. Это не что-то, о чем я услышал прежде (но затем я не эксперт по предмету).
Как заняться расследованиями далее:
$SHELL
не обязательно Ваша текущая оболочка, это - оболочка входа в систему по умолчанию. Для проверки оболочки, Вы используете, пробуете
ps $$
Это должно работать над новым Unix/Linux с a ps
это поддерживает синтаксис BSD. Иначе это - портативное устройство (POSIX) путь
ps -p $$
Это должно возвратить что-то вроде этого, если Вы работаете tcsh
:
8773 pts/10 00:00:00 tcsh
Если Вы хотите иметь tcsh
будьте своей оболочкой по умолчанию, используйте chsh
установить его.
Из командной строки можно также использовать $0
переменная для определения, какую оболочку Вы используете. например:
~$ echo $0
/bin/bash
~$ ksh
$ echo $0
ksh
Примечание: Вы не можете определить оболочку с помощью 0$ в рамках сценария, потому что 0$ будут самим сценарием.
Это работает для linux:
lsof -a -p $$ -d txt
или, если вам нужен более сильный выбор (больше систем):
lsof -a +D /bin +D /usr/bin -p $$ -d txt
Это поправка ко всем лучшим ответам выше. В какой-то момент у меня была небольшая проблема с определением тире; казалось правильным поделиться:
curl -fsSL http://www.in-ulm.de/~mascheck/various/whatshell/whatshell.sh | sh
ash (dash 0.5.5.1 ff)
curl -fsSL http://www.in-ulm.de/~mascheck/various/whatshell/whatshell.sh | bash
bash 4.3.30(1)-release
Подходит для устранения неполадок в труднодоступных местах. Ваше здоровье.
В операционной системе Unix/Linux может быть установлено несколько оболочек. Вы можете ввести следующую команду в своем терминале, чтобы увидеть, какую оболочку вы используете:
Ниже приведен список,
Этот список не является полным, и есть много других оболочек.
В файле /etc/shells хранится список всех оболочек, установленных в вашей системе. Просто запустите приведенную ниже команду, чтобы узнать установленные оболочки,
$ cat /etc/shells
Запустите команду grep в файле /etc/passwd, чтобы узнать оболочку по умолчанию при входе в операционную систему Unix или Linux.
$ grep john /etc/passwd
Вы также можете использовать переменную $SHELL для той же цели.
echo $0
$ echo $SHELL
Результат будет примерно таким, как показано ниже, если вы используете терминал bash(Bourne Again Shell):Если в вашей системе установлено несколько оболочек, вы всегда можете переключить оболочку.
Так как же узнать, какую оболочку вы используете в данный момент?
Просто используйте приведенную ниже команду
-bash
$ ps -p $$
Думаю, я ответил на все ваши вопросы. Если у вас все еще есть сомнения, вы можете обратиться к этой исходной статье .
chsh
,.bashrc
будет только считан, если Вы будете i) выполнение удара и ii) выполнение его как интерактивное, не войдите в оболочку. Как Вы входите в эту машину? – terdon♦ 16.10.2013, 16:26ps $$
– cjm 16.10.2013, 18:13