/* Reset the statistics window */ static void rlc_lte_stat_reset(void *phs) { rlc_lte_stat_t* rlc_lte_stat = (rlc_lte_stat_t *)phs; rlc_lte_ep_t* list = rlc_lte_stat->ep_list; gchar title[256]; GtkListStore *store; /* Set the title */ if (rlc_lte_stat->dlg_w != NULL) { g_snprintf(title, sizeof(title), "Wireshark: LTE RLC Traffic Statistics: %s (filter=\"%s\")", cf_get_display_name(&cfile), rlc_lte_stat->filter ? rlc_lte_stat->filter : "none"); gtk_window_set_title(GTK_WINDOW(rlc_lte_stat->dlg_w), title); } g_snprintf(title, sizeof(title), "0 UEs"); gtk_frame_set_label(GTK_FRAME(rlc_lte_stat->ues_lb), title); rlc_lte_stat->total_frames = 0; memset(&rlc_lte_stat->common_stats, 0, sizeof(rlc_lte_common_stats)); /* Remove all entries from the UE list */ store = GTK_LIST_STORE(gtk_tree_view_get_model(rlc_lte_stat->ue_table)); gtk_list_store_clear(store); if (!list) { return; } rlc_lte_stat->ep_list = NULL; }
static void wlanstat_reset (void *phs) { wlanstat_t* wlan_stat = (wlanstat_t *)phs; wlan_ep_t* list = wlan_stat->ep_list; wlan_ep_t* tmp = NULL; char title[256]; GString *error_string; GtkListStore *store; const char *filter = NULL; if (wlanstat_dlg_w != NULL) { g_snprintf (title, sizeof(title), "Wireshark: WLAN Traffic Statistics: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(wlanstat_dlg_w), title); } if (wlan_stat->use_dfilter) { filter = gtk_entry_get_text(GTK_ENTRY(main_display_filter_widget)); } error_string = set_tap_dfilter (wlan_stat, filter); if (error_string) { simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", error_string->str); g_string_free(error_string, TRUE); return; } if (wlan_stat->use_dfilter) { if (filter && strlen(filter)) { g_snprintf(title, sizeof(title), "Network Overview - Filter: %s", filter); } else { g_snprintf(title, sizeof(title), "Network Overview - No Filter"); } } else { g_snprintf(title, sizeof(title), "Network Overview"); } gtk_frame_set_label(GTK_FRAME(wlanstat_name_lb), title); /* remove all entries from the list */ store = GTK_LIST_STORE(gtk_tree_view_get_model(wlan_stat->table)); gtk_list_store_clear(store); store = GTK_LIST_STORE(gtk_tree_view_get_model(wlan_stat->details)); gtk_list_store_clear(store); if (!list) return; while (list) { tmp = list; dealloc_wlan_details_ep (tmp->details); list = tmp->next; g_free (tmp); } wlan_stat->ep_list = NULL; wlan_stat->number_of_packets = 0; }
static char * scsistat_gen_title(scsistat_t *rs) { char *title; title = g_strdup_printf("SCSI Service Response Time statistics for %s: %s", rs->prog, cf_get_display_name(&cfile)); return title; }
static char * rpcstat_gen_title(rpcstat_t *rs) { char *title; title = g_strdup_printf("ONC-RPC Service Response Time statistics for %s version %d: %s", rs->prog, rs->version, cf_get_display_name(&cfile)); return title; }
static void comparestat_set_title(compstat_t *cs) { char *title; title=g_strdup_printf("Compare two capture files: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(cs->win), title); g_free(title); }
static void ldapstat_set_title(ldapstat_t *ldap) { char *title; title = g_strdup_printf("LDAP Service Response Time statistics: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(ldap->win), title); g_free(title); }
static void gtpstat_set_title(gtpstat_t *gtp) { char *title; title = g_strdup_printf("GTP Control Plane Response Time statistics: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(gtp->win), title); g_free(title); }
static void afpstat_set_title(afpstat_t *ss) { char *title; title = g_strdup_printf("AFP Service Response Time statistics: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(ss->win), title); g_free(title); }
static void error_set_title(expert_comp_dlg_t *ss) { char *title; title = g_strdup_printf("Expert Info Composite: %s", cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(ss->win), title); g_free(title); }
static char * dcerpcstat_gen_title(dcerpcstat_t *rs) { char *title; char *display_name; display_name = cf_get_display_name(&cfile); title = g_strdup_printf("DCE-RPC Service Response Time statistics for %s major version %u: %s", rs->prog, rs->ver, display_name); g_free(display_name); return title; }
static char * rpcprogs_gen_title(void) { char *display_name; char *title; display_name = cf_get_display_name(&cfile); title = g_strdup_printf("ONC-RPC Program Statistics: %s", display_name); g_free(display_name); return title; }
const QString CaptureFile::fileDisplayName() { QString displayName; if (isValid()) { char *display_name = cf_get_display_name(cap_file_); displayName = display_name; g_free(display_name); } else { displayName = QString(); } return displayName; }
void tap_dfilter_dlg_update (void) { tap_dfilter_dlg_list_item *dialog = start_dlg_list; char *title; while(dialog != NULL) { if(dialog->dlg) { title = g_strdup_printf("Wireshark: %s: %s", dialog->cont.win_title , cf_get_display_name(&cfile)); gtk_window_set_title(GTK_WINDOW(dialog->dlg), title); g_free(title); } dialog = dialog->next; } }
/* Set titlebar to reflect the current state of the capture file, if any */ void set_titlebar_for_capture_file(capture_file *cf) { gchar *display_name; gchar *window_name; if (cf && cf->filename) { display_name = cf_get_display_name(cf); window_name = g_strdup_printf("%s%s", cf_has_unsaved_data(cf) ? "*" : "", display_name); g_free(display_name); main_set_window_name(window_name); g_free(window_name); } else { main_set_window_name("The Wireshark Network Analyzer"); } }
SCTPGraphDialog::SCTPGraphDialog(QWidget *parent, sctp_assoc_info_t *assoc, capture_file *cf, int dir) : QDialog(parent), ui(new Ui::SCTPGraphDialog), selected_assoc(assoc), cap_file_(cf), direction(dir) { ui->setupUi(this); if (!selected_assoc) { selected_assoc = SCTPAssocAnalyseDialog::findAssocForPacket(cap_file_); } this->setWindowTitle(QString(tr("SCTP TSNs and SACKs over Time: %1 Port1 %2 Port2 %3")).arg(cf_get_display_name(cap_file_)).arg(selected_assoc->port1).arg(selected_assoc->port2)); if ((direction == 1 && selected_assoc->n_array_tsn1 == 0) || (direction == 2 && selected_assoc->n_array_tsn2 == 0)) { QMessageBox msgBox; msgBox.setText(tr("No Data Chunks sent")); msgBox.exec(); return; } else { drawGraph(3); } }
SCTPGraphArwndDialog::SCTPGraphArwndDialog(QWidget *parent, sctp_assoc_info_t *assoc, capture_file *cf, int dir) : QDialog(parent), ui(new Ui::SCTPGraphArwndDialog), selected_assoc(assoc), cap_file_(cf), direction(dir) { ui->setupUi(this); if (!selected_assoc) { selected_assoc = SCTPAssocAnalyseDialog::findAssocForPacket(cap_file_); } Qt::WindowFlags flags = Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint; this->setWindowFlags(flags); this->setWindowTitle(QString(tr("SCTP Data and Adv. Rec. Window over Time: %1 Port1 %2 Port2 %3")).arg(cf_get_display_name(cap_file_)).arg(selected_assoc->port1).arg(selected_assoc->port2)); if ((direction == 1 && selected_assoc->n_array_tsn1 == 0) || (direction == 2 && selected_assoc->n_array_tsn2 == 0)) { QMessageBox msgBox; msgBox.setText(tr("No Data Chunks sent")); msgBox.exec(); return; } else { drawGraph(); } }
TCPStreamDialog::TCPStreamDialog(QWidget *parent, capture_file *cf, tcp_graph_type graph_type) : QDialog(NULL, Qt::Window), ui(new Ui::TCPStreamDialog), cap_file_(cf), ts_offset_(0), ts_origin_conn_(true), seq_offset_(0), seq_origin_zero_(true), title_(NULL), base_graph_(NULL), tput_graph_(NULL), seg_graph_(NULL), ack_graph_(NULL), rwin_graph_(NULL), tracer_(NULL), packet_num_(0), mouse_drags_(true), rubber_band_(NULL), num_dsegs_(-1), num_acks_(-1), num_sack_ranges_(-1) { struct segment current; int graph_idx = -1; ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); graph_.type = GRAPH_UNDEFINED; set_address(&graph_.src_address, AT_NONE, 0, NULL); graph_.src_port = 0; set_address(&graph_.dst_address, AT_NONE, 0, NULL); graph_.dst_port = 0; graph_.stream = 0; graph_.segments = NULL; struct tcpheader *header = select_tcpip_session(cap_file_, ¤t); if (!header) { done(QDialog::Rejected); return; } //#ifdef Q_OS_MAC // ui->hintLabel->setAttribute(Qt::WA_MacSmallSize, true); //#endif QComboBox *gtcb = ui->graphTypeComboBox; gtcb->setUpdatesEnabled(false); gtcb->addItem(ui->actionRoundTripTime->text(), GRAPH_RTT); if (graph_type == GRAPH_RTT) graph_idx = gtcb->count() - 1; gtcb->addItem(ui->actionThroughput->text(), GRAPH_THROUGHPUT); if (graph_type == GRAPH_THROUGHPUT) graph_idx = gtcb->count() - 1; gtcb->addItem(ui->actionStevens->text(), GRAPH_TSEQ_STEVENS); if (graph_type == GRAPH_TSEQ_STEVENS) graph_idx = gtcb->count() - 1; gtcb->addItem(ui->actionTcptrace->text(), GRAPH_TSEQ_TCPTRACE); if (graph_type == GRAPH_TSEQ_TCPTRACE) graph_idx = gtcb->count() - 1; gtcb->addItem(ui->actionWindowScaling->text(), GRAPH_WSCALE); if (graph_type == GRAPH_WSCALE) graph_idx = gtcb->count() - 1; gtcb->setUpdatesEnabled(true); ui->dragRadioButton->setChecked(mouse_drags_); ctx_menu_.addAction(ui->actionZoomIn); ctx_menu_.addAction(ui->actionZoomInX); ctx_menu_.addAction(ui->actionZoomInY); ctx_menu_.addAction(ui->actionZoomOut); ctx_menu_.addAction(ui->actionZoomOutX); ctx_menu_.addAction(ui->actionZoomOutY); ctx_menu_.addAction(ui->actionReset); ctx_menu_.addSeparator(); ctx_menu_.addAction(ui->actionMoveRight10); ctx_menu_.addAction(ui->actionMoveLeft10); ctx_menu_.addAction(ui->actionMoveUp10); ctx_menu_.addAction(ui->actionMoveDown10); ctx_menu_.addAction(ui->actionMoveRight1); ctx_menu_.addAction(ui->actionMoveLeft1); ctx_menu_.addAction(ui->actionMoveUp1); ctx_menu_.addAction(ui->actionMoveDown1); ctx_menu_.addSeparator(); ctx_menu_.addAction(ui->actionNextStream); ctx_menu_.addAction(ui->actionPreviousStream); ctx_menu_.addAction(ui->actionSwitchDirection); ctx_menu_.addAction(ui->actionGoToPacket); ctx_menu_.addSeparator(); ctx_menu_.addAction(ui->actionDragZoom); ctx_menu_.addAction(ui->actionToggleSequenceNumbers); ctx_menu_.addAction(ui->actionToggleTimeOrigin); ctx_menu_.addAction(ui->actionCrosshairs); ctx_menu_.addSeparator(); ctx_menu_.addAction(ui->actionRoundTripTime); ctx_menu_.addAction(ui->actionThroughput); ctx_menu_.addAction(ui->actionStevens); ctx_menu_.addAction(ui->actionTcptrace); ctx_menu_.addAction(ui->actionWindowScaling); memset (&graph_, 0, sizeof(graph_)); graph_.type = graph_type; copy_address(&graph_.src_address, ¤t.ip_src); graph_.src_port = current.th_sport; copy_address(&graph_.dst_address, ¤t.ip_dst); graph_.dst_port = current.th_dport; graph_.stream = header->th_stream; findStream(); ui->streamNumberSpinBox->blockSignals(true); ui->streamNumberSpinBox->setMaximum(get_tcp_stream_count() - 1); ui->streamNumberSpinBox->setValue(graph_.stream); ui->streamNumberSpinBox->blockSignals(false); QCustomPlot *sp = ui->streamPlot; QCPPlotTitle *file_title = new QCPPlotTitle(sp, cf_get_display_name(cap_file_)); file_title->setFont(sp->xAxis->labelFont()); title_ = new QCPPlotTitle(sp); sp->plotLayout()->insertRow(0); sp->plotLayout()->addElement(0, 0, file_title); sp->plotLayout()->insertRow(0); sp->plotLayout()->addElement(0, 0, title_); base_graph_ = sp->addGraph(); // All: Selectable segments base_graph_->setPen(QPen(QBrush(graph_color_1), 0.25)); tput_graph_ = sp->addGraph(sp->xAxis, sp->yAxis2); // Throughput: Moving average tput_graph_->setPen(QPen(QBrush(graph_color_2), 0.5)); tput_graph_->setLineStyle(QCPGraph::lsLine); seg_graph_ = sp->addGraph(); // tcptrace: fwd segments seg_graph_->setErrorType(QCPGraph::etValue); seg_graph_->setLineStyle(QCPGraph::lsNone); seg_graph_->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDot, Qt::transparent, 0)); seg_graph_->setErrorPen(QPen(QBrush(graph_color_1), 0.5)); seg_graph_->setErrorBarSize(pkt_point_size_); ack_graph_ = sp->addGraph(); // tcptrace: rev ACKs ack_graph_->setPen(QPen(QBrush(graph_color_2), 0.5)); ack_graph_->setLineStyle(QCPGraph::lsStepLeft); rwin_graph_ = sp->addGraph(); // tcptrace: rev RWIN rwin_graph_->setPen(QPen(QBrush(graph_color_3), 0.5)); rwin_graph_->setLineStyle(QCPGraph::lsStepLeft); tracer_ = new QCPItemTracer(sp); sp->addItem(tracer_); // Triggers fillGraph(). ui->graphTypeComboBox->setCurrentIndex(graph_idx); sp->setMouseTracking(true); sp->yAxis->setLabelColor(QColor(graph_color_1)); sp->yAxis->setTickLabelColor(QColor(graph_color_1)); tracer_->setVisible(false); toggleTracerStyle(true); QPushButton *save_bt = ui->buttonBox->button(QDialogButtonBox::Save); save_bt->setText(tr("Save As" UTF8_HORIZONTAL_ELLIPSIS)); QPushButton *close_bt = ui->buttonBox->button(QDialogButtonBox::Close); if (close_bt) { close_bt->setDefault(true); } ProgressFrame::addToButtonBox(ui->buttonBox, parent); connect(sp, SIGNAL(mousePress(QMouseEvent*)), this, SLOT(graphClicked(QMouseEvent*))); connect(sp, SIGNAL(mouseMove(QMouseEvent*)), this, SLOT(mouseMoved(QMouseEvent*))); connect(sp, SIGNAL(mouseRelease(QMouseEvent*)), this, SLOT(mouseReleased(QMouseEvent*))); connect(sp, SIGNAL(axisClick(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*)), this, SLOT(axisClicked(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*))); connect(sp->yAxis, SIGNAL(rangeChanged(QCPRange)), this, SLOT(transformYRange(QCPRange))); disconnect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept())); this->setResult(QDialog::Accepted); }
SCTPChunkStatisticsDialog::SCTPChunkStatisticsDialog(QWidget *parent, sctp_assoc_info_t *assoc, capture_file *cf) : QDialog(parent), ui(new Ui::SCTPChunkStatisticsDialog), selected_assoc(assoc), cap_file_(cf) { ui->setupUi(this); #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) ui->tableWidget->verticalHeader()->setClickable(true); ui->tableWidget->verticalHeader()->setMovable(true); #else ui->tableWidget->verticalHeader()->setSectionsClickable(true); ui->tableWidget->verticalHeader()->setSectionsMovable(true); #endif ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); #else ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); #endif this->setWindowTitle(QString(tr("SCTP Chunk Statistics: %1 Port1 %2 Port2 %3")).arg(cf_get_display_name(cap_file_)).arg(selected_assoc->port1).arg(selected_assoc->port2)); // connect(ui->tableWidget->verticalHeader(), SIGNAL(sectionMoved(int,int,int)), this, SLOT(on_sectionMoved(int, int, int))); ctx_menu_.addAction(ui->actionHideChunkType); ctx_menu_.addAction(ui->actionChunkTypePreferences); ctx_menu_.addAction(ui->actionShowAllChunkTypes); initializeChunkMap(); fillTable(); }
SCTPAssocAnalyseDialog::SCTPAssocAnalyseDialog(QWidget *parent, sctp_assoc_info_t *assoc, capture_file *cf, SCTPAllAssocsDialog* caller) : QDialog(parent), ui(new Ui::SCTPAssocAnalyseDialog), selected_assoc(assoc), cap_file_(cf), caller_(caller) { ui->setupUi(this); ui->SCTPAssocAnalyseTab->setCurrentWidget(ui->Statistics); if (!selected_assoc) { if (sctp_stat_get_info()->is_registered == FALSE) { register_tap_listener_sctp_stat(); } /* (redissect all packets) */ cf_retap_packets(cap_file_); selected_assoc = findAssocForPacket(cap_file_); } this->setWindowTitle(QString(tr("SCTP Analyse Association: %1 Port1 %2 Port2 %3")).arg(cf_get_display_name(cap_file_)).arg(selected_assoc->port1).arg(selected_assoc->port2)); fillTabs(); }