Август 5

режим Видео — ubuntu

Наш телефон в 3 раза круче ноутбука, но к сожалению ограничение в 4GB никуда не делись,

и так

ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:00:00 -t 0:15:00 /home/user/1.mp4

ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:15:00 -t 0:15:00 /home/user/2.mp4

ffmpeg -i video9GB40minut.mp4 -f mp4 -vcodec copy -acodec copy -ss 0:30:00 -t 0:15:00 /home/user/3.mp4

очень быстро, как для таких размеров.

Июнь 6

GA API PHP узнаем откуда пришел покупатель по номеру заказа

нам нужно узнать откуда пришел пользователь да и все что можно вытянуть из GA.

создаем по инструкции ключи и пользователя

качать нужно не по ссылке а через клон

несколько подводных комней обходим с помощью подсказки

I solved this problem without changing any line of Google API. In your php code, you juste need to specify where you want the cache folder to be:

$config = new Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => '../tmp/cache'));
// Here I set a relative folder to avoid pb on permissions to a folder like /tmp that is not permitted on my mutualised host

$client = new Google_Client($config);
// And then,  you pass the config for your GoogleClient

 

также тут у нас есть хорошие примеры как пользоваться конструктором запросов

 

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

ХХХХХХХХХХ = номер заказ

function getResults(&$analytics, $profileId) {
  // Calls the Core Reporting API and queries for the number of sessions
  // for the last seven days.
$optParams = array(
      'dimensions' => 'ga:source,ga:medium,ga:transactionId',
      'sort' => '-ga:sessions,ga:source',
      'filters' => 'ga:transactionId==ХХХХХХХХХХ',
      'max-results' => '25');

   return $analytics->data_ga->get(
       'ga:' . $profileId,
       '30daysAgo',
       'today',
       'ga:sessions,ga:transactionRevenue,ga:transactions,ga:uniquePurchases',$optParams);
}
Май 1

Install google play store on 小米盒子 MIBOX3_PRO

с помощью тора я смог скачать обновление и обновиться до версии 1.4.6 как оказалось в китае забанен укртелеком. но потерял root теперь благодаря http://flying8pus.blogspot.my/ я смог остановить рут так как старая версия программы 360root с этим не справлялось. так кроме всего прочего автор заявляет что можно установить GOOGLE service в просто народе GAPPS. пока не пробовал но рут уже есть а значить и backup restore.

Device:
manufacturer: Xiaomi
model: MiBOX3_PRO (MDZ-18-AA)
MIUI TV版本: 1.4.6(稳定版)
Prerequisites (Tools & Packages )
1) 360超级ROOT from http://root.360.cn/
  PermRoot.apk

2) apk files from Gapps packages
  67ae3a402c705c8ec97d6d05364e8697  gapps-5.1-arm64-2015-07-17-15-08.zip
     Unzip and extract the following apk files:
PrebuiltGmsCore.apk (from /arch/priv-app/PrebuiltGmsCore/)
GoogleServicesFramework.apk (from /common/priv-app/GoogleServicesFramework/)
GoogleLoginService.apk (from /common/priv-app/GoogleLoginService/)
Phonesky.apk (from /common/priv-app/Phonesky/)
     !! Rename the PrebuiltGmsCore.apk to GmsCore.apk !! 

3) Terminal emulator
  Example: jackpal.androidterm-1.0.70-71-minAPI4.apk

4) Google play store apk (from apkmirror etc)


Steps

0) You may want to follow the link to enable 3rd party apk installation and change the UI language: How-to change UI language 

1) Root the device
     Install PermRoot.apk. Launch 360超级ROOT & click the <跳skip> on upper right corner to enter the main screen. Click the center BIG icon in middle to start.

2)  Install terminal emulator and grant the root access
    Install jackpal.androidterm-1.0.70-71-minAPI4.apk. Launch the emulator and switch to root user
  >  su -     (Click Accept / 允许 when 360超级ROOT prompt)
  #  cd /

3) Remount /system rw
  # mount -o rw,remount /system

4) Copy the Gapps apk files to respective locations
   # cd /system/priv-app
   # mkdir GmsCore GoogleServicesFramework GoogleLoginService Phonesky
   # chmod 755 GmsCore GoogleServicesFramework GoogleLoginService Phonesky
   # 
   # df   (check your path to USB thumbdrive)
   (Note: Modify the following path to your Gapps apks in thumbdrive)
   # cp /storage/usbotg/usbotg-sda1//GmsCore.apk GmsCore/
   # cp /storage/usbotg/usbotg-sda1//GoogleServicesFramework.apk GoogleServicesFramework/
   # cp /storage/usbotg/usbotg-sda1//GoogleLoginService.apk GoogleLoginService/
   # cp /storage/usbotg/usbotg-sda1//Phonesky.apk Phonesky/
   # chmod 644 GmsCore/GmsCore.apk Google*/* Phonesky/Phonesky.apk
   # sync
   # reboot

5) Install the Google Play Store and YouTube from thumbdrive etc

ЗЫ
Проверил работает маркет, есть пока проблемы с логином в хроме но возможно обновляется.

Апрель 23

mi box 3 enhanced edition — Старт

И так приступим, первые сутки, пустые просторы интернета и первые проблемы и успехи.

наша модель MDZ-18-AA

первым делам включаем английский язык  в shafaguanjia маркете есть доступ к меню андроида там можно включить английский язык.

если после экспериментов ваша коробочка перезагружается по кругу вход в рекавери через кнопки «ок» в центре джостика и «назад»  — да установив root через «360 root» я хотел завести гугл сервисы и не удачно.

очень хорошо идет программа ex.ua порадовала меня после spark версии (работает перемотка вперед 🙂 ), очень сильно

программы брал отсюда,  iptv по подписке с torrent-tv.ru работают сносно, через AceStream не захотело запускать хоть на телефоне вариант работает на ура,

для ex.ua нужно установить MXPlayer в некоторых случаях он показал себя лучше чем BSPlayer, хоть есть смысл устанавливать оба плеера.  Программы  ставятся очень просто через usb диск 250GB на ура, сам не заметил как после переходов на SSD дисков у меня больше чем флешек.

попробовал погонять в гонки, первые попавшиеся, но с помощью блатного пульта смог только посмотреть по сторонам. — представлял немного по другому.

теперь радостная новость «logitech k330 клавиатура + мышь» можно установить русскую клавиатуру, что позволит хотя бы искать по тому же ex.ua.

 

раскладок можно выбрать несколько и переключать через — контрол+пробел.

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

 

 

Апрель 15

Arduino это круто! — Радиомодуль nRF24L01+ 2.4 ГГц

как оказалось 433 давольно таки слабоват чтоб пробить 3 стены. но отказываться от него не будем так как одна из плат приемника все таки  может получать данные и с третей комнаты, и датчики подают сильный сигнал. но для связи розеток  и управлением светом  решено воспользоваться 2.4ГГц очень хороший мануальчик с описаниями я нашел сдесь спасибо автору завтра получу партия радиомодулей дабы не потерять в закладках статью скопирую сюда пару примеров.

Первый пример, передача данных с аналогового входа.:

#include
#include
#include // https://github.com/maniacbug/RF24

const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"

RF24 radio(9, 10); // CE, CSN

void setup(){
Serial.begin(9600);

radio.begin();
delay(2);
radio.setChannel(9); // канал (0-127)

// скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
// RF24_250KBPS на nRF24L01 (без +) неработает.
// меньше скорость, выше чувствительность приемника.
radio.setDataRate(RF24_1MBPS);

// мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
radio.setPALevel(RF24_PA_HIGH);

radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe"
radio.startListening(); // включаем приемник, начинаем слушать трубу
}

// radio.stopListening(); // останавливает приём (нужно перед началом передачи)

void loop()
{
int data;

if (radio.available()){ // проверяем не пришло ли чего в буфер.
radio.read(&data, sizeof(data)); // читаем данные, указываем сколько байт читать

Serial.print("data: ");
Serial.println(data);
}
}
------------------------------------------------------------------------------
#include
#include
#include // https://github.com/maniacbug/RF24

const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"

RF24 radio(9, 10); // CE, CSN

void setup(){
Serial.begin(9600);

radio.begin();
delay(2);
radio.setChannel(9); // канал (0-127)

// скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
// RF24_250KBPS на nRF24L01 (без +) неработает.
// меньше скорость, выше чувствительность приемника.
radio.setDataRate(RF24_1MBPS);

// мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
radio.setPALevel(RF24_PA_HIGH);

radio.openWritingPipe(pipe); // открываем трубу на передачу.
}

void loop()
{

int data = analogRead(0); // читаем значение

radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет

Serial.print("data: ");
Serial.println(data);

// delay(1000);
}

Второй пример, передача данных с DHT11.:

#include 
#include 
#include  // https://github.com/maniacbug/RF24

#include 
  
const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"
 
dht11 sensor;
RF24 radio(9, 10); // CE, CSN
 
void setup(){
  Serial.begin(9600);
  
  radio.begin();
  delay(2);
  radio.setChannel(9); // канал (0-127)
    
    // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
    // RF24_250KBPS на nRF24L01 (без +) неработает.
    // меньше скорость, выше чувствительность приемника.
  radio.setDataRate(RF24_1MBPS); 
   
    // мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
  radio.setPALevel(RF24_PA_HIGH);   

  radio.openWritingPipe(pipe); // открываем трубу на передачу.
  delay(1000);
} 


void loop()   
{
  int data[2];   
  
  sensor.read(8);
  
  data[0] = int(sensor.temperature); // заполняем массив
  data[1] = int(sensor.humidity);
  
  radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет
  
  Serial.print("Humidity (%): ");
  Serial.println(data[1]);

  Serial.print("Temperature (oC): ");
  Serial.println(data[0]);
  delay(1000);
} 
-------------------------------------------------------------------------------
#include 
#include 
#include  // https://github.com/maniacbug/RF24

const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"

RF24 radio(9, 10); // CE, CSN

void setup(){
  Serial.begin(9600);
  
  radio.begin();  
  delay(2);
  radio.setChannel(9); // канал (0-127)
  
    // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
    // RF24_250KBPS на nRF24L01 (без +) неработает.
    // меньше скорость, выше чувствительность приемника.
  radio.setDataRate(RF24_1MBPS);     
  
    // мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
  radio.setPALevel(RF24_PA_HIGH);   
    
  radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe"
  radio.startListening(); // включаем приемник, начинаем слушать трубу
}
 
//  radio.stopListening(); // останавливает приём (нужно перед началом передачи) 


void loop()   
{
  int data[2];
  
  if (radio.available()){ // проверяем не пришло ли чего в буфер.
    radio.read(&data, sizeof(data)); // читаем данные и указываем сколько байт читать
    
      Serial.print("Humidity (%): ");
      Serial.println(data[1]);
      Serial.print("Temperature (oC): ");
      Serial.println(data[0]);
 
    } 
} 


Третий пример, передача данных с DHT11 по запросу.:

#include 
#include 
#include  // https://github.com/maniacbug/RF24

const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"

RF24 radio(9, 10); // CE, CSN

void setup(){
  Serial.begin(9600);
  
  radio.begin();  
  delay(2);
  radio.setChannel(9); // канал (0-127)
  
    // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
    // RF24_250KBPS на nRF24L01 (без +) неработает.
    // меньше скорость, выше чувствительность приемника.
  radio.setDataRate(RF24_1MBPS);     
  
    // мощьность передатчика RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
  radio.setPALevel(RF24_PA_HIGH);   
    
  radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe"
  radio.startListening(); // включаем приемник, начинаем слушать трубу
}
 
//  
// для ПроМини

void loop()   
{
  int data[2];

  if (Serial.available() > 0){ // если чтото пришло в сериал
    int val = Serial.parseInt(); // читаем в переменную
    if (val == 1){ // если это 1
      radio.stopListening(); // останавливает приём (нужно перед началом передачи) 
      radio.openWritingPipe(pipe); // открываем трубу на передачу.
      radio.write(&val, sizeof(val)); // отправляем val и указываем сколько байт пакет
      radio.startListening(); // включаем приемник, начинаем слушать трубу
    }
    Serial.flush(); // очищаем буфер  
  }
  
  if (radio.available()){ // проверяем не пришло ли чего в буфер.
    radio.read(&data, sizeof(data)); // читаем данные и указываем сколько байт читать
    
      Serial.print("Humidity (%): ");
      Serial.println(data[1]);
      Serial.print("Temperature (oC): ");
      Serial.println(data[0]); 
    } 
    
} 
---------------------------------------------------------------------------------
#include 
#include 
#include  // https://github.com/maniacbug/RF24

#include 
  
const uint64_t pipe = 0xF0F1F2F3F4LL; // индитификатор передачи, "труба"
 
dht11 sensor;
RF24 radio(9, 10); // CE, CSN
 
void setup(){
//  Serial.begin(9600);
  
  radio.begin();
  delay(2);
  radio.setChannel(9); // канал (0-127)
    
    // скорость, RF24_250KBPS, RF24_1MBPS или RF24_2MBPS
    // RF24_250KBPS на nRF24L01 (без +) неработает.
    // меньше скорость, выше чувствительность приемника.
  radio.setDataRate(RF24_1MBPS); 
   
    // мощьность передатчика, RF24_PA_MIN=-18dBm, RF24_PA_LOW=-12dBm, RF24_PA_MED=-6dBM,
  radio.setPALevel(RF24_PA_HIGH);   
  
  radio.openReadingPipe(1,pipe); // открываем первую трубу с индитификатором "pipe"
  radio.startListening(); // включаем приемник, начинаем слушать трубу

//  radio.openWritingPipe(pipe); // открываем трубу на передачу.

} 

////// для UNO
void loop()   
{
  int data[2];   
  
  if (radio.available()){ // проверяем не пришло ли чего в буфер.
    int val;
    radio.read(&val, sizeof(val)); // читаем данные и указываем сколько байт читать
    
    if (val == 1){ // если пришло 1,
      radio.stopListening(); // останавливает приём (нужно перед началом передачи) 
      
      sensor.read(8);  // читаем градусник
      delay(1000);
      data[0] = int(sensor.temperature); // заполняем массив
      data[1] = int(sensor.humidity);
      
         //отправляем данные      
      radio.openWritingPipe(pipe); // открываем трубу на передачу.
      radio.write(&data, sizeof(data)); // отправляем данные и указываем сколько байт пакет
      radio.startListening(); // включаем приемник, начинаем слушать трубу
    }
  }   
} 


 

Март 28

Arduino — Это курто: 433 Датчики и пульты от GSM сигнализации ARDUINO

Сначала я скачал несколько библиотек которые не дали мне ровным счётом ничего, прочитал немного форумов которые рассказали о страшном кодирование таких датчиков через кодер декодер pt2262 \ pt2272 я уже начал подыскивать приемник передатчик с этой микросхемой, но все же залез в внутрь сигнализации я не обнаружил данные чипы хоть инструкция уверяла меня что они есть в ZC-GSM012 и вот мои успехи, все заработало без дополнительного железа.

итак

библиотека rcswitch   прямо внутри есть примеры которые помогут как считать коды так и отправить

для считывания используем ReceiveDemo_Simple

/*
  Simple example for receiving
  
  http://code.google.com/p/rc-switch/
*/

#include 

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }

    mySwitch.resetAvailable();
  }
}

в мониторе мы увидим

Received 1******4 / 24bit Protocol: 1

при нажатии на кнопки пультов и на срабатывание датчиков.

с помощью

SendDemo

#include 

RCSwitch mySwitch = RCSwitch();

void setup() {

  Serial.begin(9600);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);

  // Optional set pulse length.
  // mySwitch.setPulseLength(320);
  
  // Optional set protocol (default is 1, will work for most outlets)
  // mySwitch.setProtocol(2);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() {



  mySwitch.send(1******4, 24); // сигналка выключена
  delay(1000);  



  delay(20000);
}

mySwitch.send(1******4, 24);

это строка в которую мы добавили код кнопки.

ЖЕЛЕЗО

сама плата Arduino UNO  (клон) 10$

Радиоудлинитель 433Мгц 2$

пару строк и вы как минимум можете считывать датчики и управлять сигнализацией с ПК

 

 

Март 27

#include

Подключал библиотеку #include <DHT.h>  -подводные камни, лучше библиотеку добавлять в папку программы а не в пользовательскую папку библиотек и даже не через добавить в меню программы,

ну и добавляем через <>  а не «» как написано в самом  примере.

Март 26

Arduino UNO в Ubuntu 14.04 (не активен пункт Последовательный порт)

Arduino UNO подключение к ноутбуку (Украл отсюда)

находим устройство командой

# dmesg

 

[ 444.861592] usb 2-1.2: new full-speed USB device number 6 using ehci-pci
[ 444.957711] usb 2-1.2: New USB device found, idVendor=2341, idProduct=0043
[ 444.957719] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 444.957723] usb 2-1.2: Manufacturer: Arduino (www.arduino.cc)
[ 444.957726] usb 2-1.2: SerialNumber: 85***********080
[ 444.958476] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM device

Даем доступ всем желающим

ls -la /dev/ttyACM0
sudo chmod a+rw /dev/ttyACM0
и вперед к первым миганием Диодов \ Маяк готов 🙂
Вот и мне пришлось сделать первые шаги в электронике, после разочарование умным домом Xiaomi,
решил делать все своими руками   arduino, 433Mhz датчики, в конечном итоге старенький комп с UBUNTU и google API распознаванием голоса.
Одним словом будет интересно.

 

Март 17

Примеров Команды Nmap

Украдено тут

 

1. Сканирование Одного Хоста или IP Адреса

Сканировать Отдельный IP Адрес :
$ nmap 192.168.1.1

Сканировать сервер по Имени Хоста :
$ nmap server.shellhacks.com

Увеличить Уровень Детализации результатов сканирования :
$ nmap -v server.shellhacks.com
$ nmap -vv server.shellhacks.com
2. Сканирование Множества IP Адресов

Сканировать Множество IP Адресов :
$ nmap 192.168.1.1 192.168.1.2 192.168.1.3
$ namp 192.168.1.1,2,3

Сканировать Подсеть :
$ nmap 192.168.1.0/24
$ nmap 192.168.1.*

Сканировать Диапазон IP Адресов (192.168.1.0 — 192.168.1.200) :
$ nmap 192.168.1.0-200
3. Поиск Активных Компьютеров в Сети

Сканировать сеть в поиске Активных Хостов :
$ nmap -sn 192.168.1.0/24

Читайте : Поиск Активных Компьютеров в Локальной Сети
4. Сканирование Списка Хостов из Файла

Сканирование списка хостов/сетей из Файла :
$ nmap -iL input.txt

Формат файла :
# Записи могут быть представлены в любом из форматов, с которыми работает
# Nmap из командной строки (IP адреса, имена хостов, CIDR, IPv6, или октетные
# диапазоны). Записи должны разделятся одним или более пробелами, табуляциями
# или переходами на новую строку.

$ cat input.txt
server.shellhacks.com
192.168.1.0/24
192.168.2.1,2,3
192.168.3.0-200
5. Исключение IP/Хостов/Сетей из Сканирования

Исключить Цели из сканирования Nmap-ом :
$ nmap 192.168.1.0/24 —exclude 192.168.1.1
$ nmap 192.168.1.0/24 —exclude 192.168.1.1 192.168.1.5
$ nmap 192.168.1.0/24 —exclude 192.168.1.1,2,3

Исключить Список хостов, взятых из файла :
$ nmap 192.168.1.0/24 —excludefile exclude.txt

Формат файла с исключенными хостами аналогичен приведенному выше.
6. Сканирование Определенных Портов

Сканировать Один Порт :
$ nmap -p 80 192.168.1.1

Сканировать Несколько Портов :
$ nmap -p 80,443 192.168.1.1

Сканировать Диапазон Портов :
$ nmap -p 80-1000 192.168.1.1

Сканировать Все Порты :
$ nmap -p «*» 192.168.1.1

Сканировать несколько самых Распространенных Портов :
$ nmap —top-ports 5 192.168.1.1
$ nmap —top-ports 10 192.168.1.1
7. Определение Поддерживаемых IP Протоколов

Определить какие IP Протоколы (TCP, UDP, ICMP, и т.д.) поддерживает сканируемый хост :
$ nmap -sO 192.168.1.1
8. Сканирование TCP/UDP Портов

Сканировать все TCP Порты :
$ nmap -sT 192.168.1.1

Сканировать определенные TCP Порты :
$ nmap -p T:80 192.168.1.1

Сканировать все UDP Порты :
$ nmap -sU 192.168.1.1

Сканировать определенные UDP Порты :
$ nmap -p U:53 192.168.1.1

Объединение сканирования разных портов :
$ nmap -p U:53,79,113,T:21-25,80,443,8080 192.168.1.1
9. Быстрое Сканирование

Активировать Быстрый Режим сканирования :
$ nmap -F 192.168.1.1

* Сканирует меньшее кол-во портов, чем при обыкновенном сканировании.
10. Показывать Причину Состояния Порта

Показать Причину, по которой Nmap считает что порт находится в определенном состоянии :
$ nmap —reason 192.168.1.1
11. Показывать Только Открытые Порты

Показать Только Открытые Порты (либо возможно открытые) :
$ nmap —open 192.168.1.1
12. Определение ОС

Включить Определение ОС :
$ nmap -O 192.168.1.1

* Определяет удаленную операционную систему с помощью отпечатка стека TCP/IP.
13. Определение Версии Сервисов

Включить Определение Версии Сервисов :
$ nmap -sV 192.168.1.1

* Определяет версии программ, запущенных на удаленном сервере.
14. Обнаружение Фаервола

Узнать, защищен ли компьютер какими-либо Пакетными Фильтрами или Фаерволом :
$ nmap -sA 192.168.1.1
15. Подмена MAC Адреса

Подменить MAC Адреса :
$ nmap —spoof-mac 00:11:22:33:44:55 192.168.1.1

Подменить MAC Адрес Случайным MAC-ом :
$ nmap —spoof-mac 0 192.168.1.1
16. Сканирование Фаервола на Уязвимости

TCP Null сканирование :
$ nmap -sN 192.168.1.1

* Не устанавливаются никакие биты (Флагов в TCP заголовоке 0).

TCP Fin сканирование :
$ nmap -sF 192.168.1.1

* Устанавливается только TCP FIN бит.

TCP Xmas сканирование :
$ nmap -sX 192.168.1.1

* Устанавливаются FIN, PSH и URG флаги (пакет светится как новогодняя елка).
17. Скрытое Сканирование

TCP SYN сканирование :
$ nmap -sS 192.168.0.1

* Известное как сканированием с использованием полуоткрытых соединений, так как не отрывает полных TCP соединений.

Читайте : Анонимное Сканирование Портов : Nmap + Tor + ProxyChains
18. Отключение Обнаружения Хостов (No Ping)

Не пинговать хосты перед сканированием :
$ nmap -Pn 192.168.1.1
19. Отключение Использования DNS

Никогда не производить обратное преобразование DNS имен для каждого обнаруженного активного IP адреса :
$ nmap -n 192.168.1.1
20. Сохранение Результатов Сканирования Nmap в Файл

Сохранить результат сканирования Nmap в Текстовый Файл :
$ nmap 192.168.1.1 > output.txt
$ nmap -oN output.txt 192.168.1.1

Сохранить результат сканирования Nmap в XML Файл :
$ nmap -oX output.xml 192.168.1.1

Март 17

Ручная установка SSL сертификата SSL HTTPS debian

Украдено тут

Веб-сервер Apache

Если ssl запросы обрабатывает Apache, то сертификат устанавливается в файле конфигурации Apache. Проверить какой веб сервис отвечает на 443 (ssl) порту можно командой:
Linux:
# netstat -napt | grep 443
tcp 0 0 188.120.233.16:443 0.0.0.0:* LISTEN 731/apache2
FreeBSD:
# sockstat |grep 443
root httpd 83299 19 tcp4 188.120.225.20:443 *:*

Для установки сертификата откройте конфигурационный файл Apache. На FreeBSD это /usr/local/etc/apache22/httpd.conf. Debian — /etc/apache2/apache2.conf. Centos — /etc/httpd/conf/httpd.conf. Найдите VirtualHost вашего домена.

Иногда вы можете найти блоки <VirtualHost> в отдельных файлах, в директории веб сервера.

Создайте блок <VirtualHost> для подключения SSL соединения. Пример:
<VirtualHost 10.0.0.1:443>
DocumentRoot /home/user/data/www/domain.com
ServerName domain.com
SSLEngine on
SSLCertificateFile /path/to/domain.crt
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/ca.crt
</VirtualHost>

Где
domain.com — имя вашего домена.
10.0.0.1 — ip адрес, на котором находится домен.
/home/user/data/www/domain.com — путь до домашней директории вашего домена.
/path/to/domain.crt — файл, в котором находится сертификат.
/path/to/domain.key — файл, в котором находится ключ сертификата.
/path/to/ca.crt — файл корневого сертификата.

Перезапустите Apache командой apachectl restart или apache2ctl restar