Участник:Nata/Черновики
Материал из Xgu.ru
Это страничка с моими черновиками. Я здесь пишу то, что больше написать некуда
Содержание |
[править] Python
[править] Функции
[править] Позиционные аргументы
In [1]: def test(a,b,c): ...: print a,b,c ...: In [2]: test(1,2,3) 1 2 3
В данном примере функция test требует чтобы при ее вызове, ей передавались все аргументы.
То есть, при указании большего или меньшего количества аргументов, будет ошибка:
In [3]: test(1,2) --------------------------------------------------------------------------- ----> 1 test(1,2) TypeError: test() takes exactly 3 arguments (2 given) In [4]: test(1,2,3,4) --------------------------------------------------------------------------- ----> 1 test(1,2,3,4) TypeError: test() takes exactly 3 arguments (4 given)
Произвольное количество позиционных аргументов
Для того чтобы функции можно было передавать произвольное количество аргументов, используется обозначение *pargs:
In [5]: def test_args(*pargs): ...: print pargs ...:
Внутри функции атрибуты выглядят как кортеж.
Пример использования:
In [6]: test_args(1,2,3,4,5) (1, 2, 3, 4, 5) In [7]: test_args(1,2) (1, 2) In [8]: test_args([2,3],4,5) ([2, 3], 4, 5)
Важно различать определение функции и вызов функции. Обозначение *args может использоваться и в определении функции и при вызове функции. Использование *args при определении функции описано выше.
Пример вызова функции с использованием *args:
In [15]: L = [2,4,6,8] In [16]: test_args(L) ([2, 4, 6, 8],) In [17]: test_args(*L) (2, 4, 6, 8)
[править] Именнованные аргументы
In [18]: def test2(a=1,b=2,c=3): ....: print a,b,c ....: In [19]: test2(2,3,4) 2 3 4 In [20]: test2(2,c=3,4) File "<ipython-input-20-9d5523336dd2>", line 1 test2(2,c=3,4) SyntaxError: non-keyword arg after keyword arg In [21]: test2(2,c=3,b=4) 2 4 3 In [22]: test2() 1 2 3
In [41]: def test4(data=5,site='',user=''): print site, user, data ....: In [42]: xguru = {'site':'xgu.ru', 'user':'Nata', 'data':'25:10:2014'} In [43]: test4(**xguru) xgu.ru Nata 25:10:2014
In [29]: def test3(**nargs): print nargs ....: In [30]: test3(user='Dkkl',data='now') {'data': 'now', 'user': 'Nata'}
[править] QEMU, tun/tap
Создать tap:
tunctl -t tap100
Удалить tap:
tunctl -d tap100
Модуль:
sudo insmod /lib/modules/3.2.9/kernel/drivers/net/tun.ko
[править] Работа с изображениями
[править] Auto screenshots
while [ 1 ];do vardate=$(date +%d\-%m\-%Y\_%H.%M.%S); screencapture -t jpg -x ~/Desktop/TrickyWays/$vardate.jpg; sleep 10; done
[править] Вырезать часть из картинки
convert -crop 1157x576+30+93\! BGPlay.gif BGPlay_ver2.gif
[править] Анимированный GIF
gifsicle --delay=500 --loop *.gif > BGPlay.gif
[править] Перерывы в работе
Все мы проводим много времени около мониторов. Если не делать регулярные перерывы, то ухудшается зрение, да и много ещё негативных последствий
К сожалению, увлекаясь, мы про перерывы забываем. Поэтому, хорошо, когда что-то о них напоминает
Вот две программки, которые справятся с этой задачей:
- для Mac OS: http://www.dejal.com/timeout/
- для Windows: http://ru.eyeleo.com/overview
[править] Linux
[править] Полезные ссылки
[править] OSPF
OSPF LSA size exceeding MTU:
[править] Cisco Design
[править] Заметки
[править] Soft
- Qradar -- анализатор логов
[править] Странички
[править] VLAN (что надо добавить или исправить)
- Добавить:
- Multinetted vlans (могут ли быть в одной vlan ip-адреса из разных подсетей --- по такому запросу из гугла приходят)
- в циске транк может передавать трафик native vlan тегированным
- правила принадлежности портов VLAN
- (может не в эту статью) маршрутизация между VLAN (или передача трафика из одной сети в другую маршрутизатором) и изменения при этом MAC-адресов и IP-адресов.
- Добавить про динамическое назначение VLAN:
[править] Нужное
- iptables
- p0f
- pf
- nmap
- passive fingerprinting
- scrub
- Yersinia
- scapy