Участник: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

[править] Перерывы в работе

Все мы проводим много времени около мониторов. Если не делать регулярные перерывы, то ухудшается зрение, да и много ещё негативных последствий

К сожалению, увлекаясь, мы про перерывы забываем. Поэтому, хорошо, когда что-то о них напоминает

Вот две программки, которые справятся с этой задачей:

[править] Linux

[править] Полезные ссылки

[править] OSPF

OSPF LSA size exceeding MTU:

[править] Cisco Design

[править] Заметки

[править] Soft

  • Qradar -- анализатор логов

[править] Странички

Lab/Windows 2003

[править] VLAN (что надо добавить или исправить)

  • Добавить:
    • Multinetted vlans (могут ли быть в одной vlan ip-адреса из разных подсетей --- по такому запросу из гугла приходят)
    • в циске транк может передавать трафик native vlan тегированным
    • правила принадлежности портов VLAN
    • (может не в эту статью) маршрутизация между VLAN (или передача трафика из одной сети в другую маршрутизатором) и изменения при этом MAC-адресов и IP-адресов.


[править] Нужное

  • iptables
  • p0f
  • pf
  • nmap
  • passive fingerprinting
  • scrub
  • Yersinia
  • scapy