В эти дни я пытаюсь собрать Bitcoin пакеты, проходящие через локальную сеть, к (надеюсь) получить более глубокое понимание протокола по "видя" как себя вести.
Сам собой разумеется, что, имея хорошее понимание протокола необходимо написать точную документацию, проверять правильность реализации любой, обнаружение или отладки неправильного поведения и анализ производительности.
После того, как отбросив вариант инструментирования коды, так как я сужу слишком много времени для моих текущих навыков, я решил использовать "Old School Unix инструмент торговли", Т.е. ТСРйитр.
Я ни в коем случае не эксперт с ним, но я был в состоянии поставить простой скрипт для фильтрации только пакеты "Bitcoinian"интерес
Я хотел бы поделиться с вами:
#! / USR / бен / ш окр
# bitdump.sh
#
# Захватывает Bitcoin сетевого трафика
SELF = `$ 0` базовое
если [[$ 1 = "" ]]; тогда
DEFAULT ="en1"
эхо "$ SELF: имя интерфейса в качестве аргумента при условии: с помощью $ DEFAULT по умолчанию"
еще
DEFAULT = $ 1
фи
connected_nodes () {
NetStat -an |
AWK «/ 8333 / && / ESTA / {печать $ 5}»|
СЕПГ 's / [.:] 8333 //'
}
# ТСРйитр конфигурации
IF ="-i $ DEFAULT"
ASCII ="-А"
Бинарные ="-XX"
NO_DNS ="-n"
FULL_PACKETS ="-s 0"
УЗЛЫ = ($ (connected_nodes))
PORT ="8333"
FILE ="bitdump.pcap"
если [[-z "$ NODES" ]]; тогда
эхо "$ SELF: Нет сверстников найден, проверьте подключение к Интернету и что Bitcoin работает"
еще
для ((я = 0; я < $ {# NODES
- }; я ++)); делать
сделанный
# -t: не печатать метку времени на каждой свалке линии
# -q: сидеть тихо
CMD ="TCPDUMP $ IF -w $ FILE $ FULL_PACKETS $ BINARY $ NO_DNS $ ANY_NODE порт $ PORT"
Эхо $ CMD
$ CMD
фи
вы можете клонировать / раскошелиться его здесь:
https://gist.github.com/795809
Исполняемый скрипт, креститься «bitdump.sh», получает в качестве аргумента имя сетевого интерфейса и требует привилегий суперпользователя, то есть вы можете запустить его с:
CHMOD + х bitdump.sh
Судо ./bitdump.sh
Горнорудный новый блок, создание новой установки Bitcoin, передача или прием транзакции включает много взаимодействия протоколов между узлами, и я думаю, что было бы интересно посмотреть ваш на проводе. Итак ... давайте начнем кампанию!
http://desmond.yfrog.com/Himg617/scaled.php?tn=0&Сервер = 617&имя файла = x4atu.png&XSIZE = 640&YSIZE = 640
Вы шахтер? Вы новый пользователь? Ницца, а затем разделить сеть отвалов на пользу разработчиков
Спасибо.